在這裏有兩件事情,我似乎無法找到答案......我正在爲我們(我們3歲)開發整個大學的一個項目工作棋盤遊戲的客戶端(例如服務器通信和AI)。現在我們的大型演講即將到來,過去兩天似乎無法與我的任何夥伴保持聯繫......指向C中的結構和內存分配的指針
我們的整個程序已經正常運行,沒有任何問題,但有兩個定義/聲明我不完全得到。
在globals.h中,我們定義了多個結構,我們在不同的.c文件中使用這些結構,特別是在我們的main.c文件中。
爲全局變量,我們在main.c中聲明
Game* GAME = (Game*) -1;
遊戲*是我們在全局頭文件中定義的結構,然而......這到底是什麼?我們創建了一個類型爲Game的指針GAME,但'(Game *)-1'是什麼?做?它是否將結構的所有組件設置爲'-1'?這是否聲明GAME結構獲取sizeof(遊戲)分配的內存或指針的大小,或[...]?如果不是,聲明分配多少內存?
第二條語句聲明的main.c中的局部變量裏面:
Config* config;
其中配置也指我們的全局頭一個結構。我們的Config類型的指針配置是否獲得了此時分配的內存?系統是否將所有值設置爲某種默認值,或...?
謝謝!
應該指向「無處」的指針通常是指向「NULL」,例如, '遊戲* GAME = NULL;' –