指向結構體的指針必須初始化

#include<stdio.h> main() { struct abc{ int a;}; struct abc *p; p->a=1; printf("%d",p->a); } 這個編譯沒有問題,可是運行是段錯誤,請問爲何呢 由於你定義了一個結構體指針p,用來指向此類結構體,可是你卻沒有給他賦值,此時p的值爲NULL,你並無在內存中爲p分配任何空間,因此p->a=1這句就會出段錯誤。 修改方
相關文章
相關標籤/搜索