我是一個C初學者,我很好奇,爲什麼這給了我一個賽格故障每次:C結構問題
#include <stdio.h>
#include <stdlib.h>
struct Wrapper {
int value;
};
int main() {
struct Wrapper *test;
test->value = 5;
return 0;
}
我知道我不完全理解指針,但我認爲
struct_ptr->field
相同
(*struct_ptr).field
所以試圖進行分配權領域應該沒問題。這工作像預期的那樣:
struct Wrapper test;
test.value = 5;
但我很好奇爲什麼使用指針會導致Seg Fault。
我在Ubuntu 9.04(1486-Linux的GNU),gcc版本4.4.1
啊是的,我知道這將是一個愚蠢的事情,我想念...謝謝! – 2009-11-23 15:29:04
你也可以寫:sizeof * test而不是sizeof(struct Wrapper)。 – 2009-11-23 15:45:22