[爆卦]c struct初始化是什麼?優點缺點精華區懶人包

為什麼這篇c struct初始化鄉民發文收入到精華區:因為在c struct初始化這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者jijuan (雞卷)看板C_and_CPP標題[問題] 請問一下用memset初始化struc...


typedef struct {
int iAge;
}s_Test, *sp_Test;

int main(void) {
s_Test sTest;
sp_Test spTest;

memset(&sTest,0,sizeof(s_Test));//OK
memset(spTest,0,sizeof(s_Test));//FAIL

sTest.iAge=999;
sptTest->iAge=1000;

cout << sTest.iAge << endl;//OK
cout << sptTest->iAge << endl;//FAIL

system("pause");

return 0;
}

因為memset是定義成這樣
void * memset ( void * ptr, int value, size_t num );
那如果是一個 struct pointer 的話,該怎麼用memset初始化呢?

--
跟我同個年代看球的人
有兩個最讓我們覺得惋惜
一個叫Grant Hill
一個叫Anfernee Hardaway

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.249.2.10
james732:sp_Test spTest = &sTest; 要先讓它指向一個合法的空間 12/14 19:06
james732:參看置底文十誡第五 12/14 19:07
VictorTom:sp_Test只是一個pointer, 要初始化為0的方法其實是 12/14 19:09
VictorTom:sp_Test = NULL; // XD 12/14 19:09
VictorTom:memset(spTest,0,sizeof(sp_Test)); // 應該也行XD 12/14 19:10
VictorTom:memset(&spTest,0,sizeof(sp_Test)); // 這個才對Orz 12/14 19:10
VictorTom:不過, 1~2F j大說的還是重點, 指標的用法請注意:) 12/14 19:11
ilway25:sizeof(sp_Test) ?? 12/14 21:24
ledia:sizeof(sp_Test) 就是看 sp_Test 型別的大小, compile time 12/14 21:57

你可能也想看看

搜尋相關網站