0
所以我有一個問題,我有一個結構稱爲圖像和一個函數,的LoadImage,它工作一切正常,但當我有這樣的事情:SDL加載圖片時,在結構
Animation.h
typedef struct Anim
{
Anim_data anim_data[20];
Image* img_anim;
int curr;
}Anim;
void AnimLoad(char* name, Anim* a)
{
ImageLoad("../../Resource/pingvin.jpeg", a->img_anim);
}
ImageLoad函數中斷我認爲它與a-> img_anim有關,但是沒有看到它有什麼問題,當我給一個Image結構時我工作的很好,我沒有在另一個結構中。
所以只是爲了清楚該功能的作品,它只是不會當我給它一個結構圖像,我從另一個結構調用。
它的工作原理,非常感謝你這幾個小時在竊聽我,你能解釋爲什麼我必須在這裏動態地分配內存嗎? – 2013-05-10 18:16:54
爲什麼需要在結構中分配一個正常的int?我從來沒有見過這個。當你創建一個結構的實例時,stuct的內存被保留但是沒有被初始化。只有指針需要單獨配對。 – Devolus 2013-05-10 19:33:58
你說得對,只有指針需要用malloc在一個struct中初始化。我的意思是讓它們成爲int指針。 – Magn3s1um 2013-05-10 19:39:45