我在頭文件AC結構: -C結構到結構的任務 - 在目標結構不正確的值
typedef struct sample
{
char *member1;
char **member2;
long *member3;
unsigned int member4;
} example;
我已經宣佈在同一頭文件中的默認類型定義變量: -
const example defaultValue;
默認值的定義在C文件: -
const example defaultValue =
{
NULL,
NULL,
NULL,
99
};
現在在不同的C文件,如果我這樣做,
example example1 = defaultValue;
所有成員被分配NULL預期 - 但「無符號整型member4」分配的0而不是99.這是很奇怪的,因爲defaultValue.member4爲99。可有人請解釋這種異常行爲的價值?有沒有更好的方法來做一個默認的結構初始化?
您發佈的代碼甚至無法編譯。你也可能錯過了其他的東西。 – detunized 2011-01-23 22:10:30
確保第二個const在其他文件中正確引用。如果不是的話,你最終會得到(有可能)example1,結果被零填充。 – payne 2011-01-23 22:10:42
請編輯您的帖子以從實際源文件中直接複製代碼。正如幾個人所觀察到的,您發佈的代碼無法編譯 - 更不用說給出您報告的行爲。所以幫助你是不可能的,因爲我們必須猜測代碼的外觀。 – 2011-01-23 22:16:49