如果我有一個源文件mystruct.c
和一個相應的頭文件,在每個文件中定義它的正確方法是什麼?結構:什麼應該去頭,什麼應該在源?
假設我具有這樣的結構:
typedef struct my_struct {
int a;
} MyStruct;
它應該被置於這樣在頭?還是應該看起來更像是這樣的:
源文件:
struct my_struct {
int a;
};
頭文件:
typedef struct my_struct MyStruct;
我有枚舉和工會同樣的問題。
我基本上是在尋找定義這些東西的標準方法,以便它們可以在許多其他文件中使用,而不必擔心重定義錯誤。
這一般不能回答。這取決於你需要聲明的地方。作爲一般規則:放入頭文件中必須存在的內容,並在源文件中留下可以留在那裏的內容。 – 5gon12eder
如果您希望所有文件都能夠直接訪問結構的字段,那麼第一種方法是正確的方法。第二種方式不適用於這種情況,因爲包含頭文件的文件不會知道結構字段(除非您在每個源文件中定義結構)。第二種方法仍然適用於不同的用例 - 不透明的定義。 – kaylum