0
我正在將結構指針傳遞給另一個.c文件中的函數。我是否需要將這個頭文件包含在兩個.c文件中?包括函數的.h文件
//test.h
typedef struct {
int number;
} STATS;
//test.c
#include "test.h"
void function(){
func2(s);
}
//stats.c
//do I need : include "test.h"
void func2(STATS * ptr){
ptr->number = 10;
}
是的。一次確保定義與聲明匹配,並且一次(或多次)使得使用該函數的代碼知道它是如何聲明的。標題使所有內容保持同步 - 因此,這非常重要。請注意,func2()函數也應該在頭文件中聲明,具有完整的原型。另外,還不清楚's怎麼進入東西 - 聲明和定義都沒有顯示出來。 –
如果你在stats.c中不包含'test.h',我會期待編譯器抱怨,因爲它不知道'STATS'是什麼。 –
是的,你需要test.h,因爲STATS沒有在stats.c中定義 – MCG