有沒有辦法用默認的initalisation值聲明結構?如何初始化定義的結構?
我有一個頭文件,它定義了這樣的structur:
typedef struct struc_s
{
size_t cost const = 2000;
size_t dmg const = 100;
size_t def const = 100;
size_t hull const = 1500;
size_t shield const = 300;
size_t capacity const = 2;
size_t destruc const = 10;
} struc_t;
但這ofcourse不起作用。
我也可以在這個頭文件中聲明一個類型爲struc_t
的var的方法。但是,我記得沒錯。我將不得不decalre它在c文件extern
每一個地方,其中包括這頭我希望能夠做var = struc_s.dmg
和我想要做的是,其結果應該是VAR持有價值100
。 但我不想在頭部聲明struc_s任何其他地方。有沒有辦法將這種行爲歸檔?
會默認結構是可以接受的forom evrywhere,其中包含沒有doint像'extern const struc_t DEFAULT_STRUC'嗎?比這對我來說很好,我只想要一個包含thoose值的結構,而不用聲明+初始化它的顯式。 – dhein
我喜歡用size_t,因爲它就我所知的cpu操作寬度的大小而言。所以...我只是喜歡size_t我沒有一個真正的好理由。 – dhein
用'#ifndef'更新了答案,它可以確保你做到了。 也就是說,將'DEFAULT_STRUC'放在.c文件中並在頭文件中執行'extern const struc_t DEFAULT_STRUC'沒什麼問題。 –