指向结构体的指针必须初始化

#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这句就会出段错误。 修改方
相关文章
相关标签/搜索