今天在编写一个linux的应用程序时用到了结构体指针,
在创建了结构体
typedef struct u_nit
{
int reg;
float value;
char flag;
} unit;
之后,又用unit * unit1;
然后unit1->reg=0;
gcc编译之后通过了,但是在板子上面运行的时候就出现了segmentation fault。
最后通过在我网上搜索,找到了原因。
原来是linux下结构体的实例化一定要初始化,因此,
在“unit * unit1;”之后加入unit1=(unit *) malloc(sizeof(unit));
该语句来初始化实例之后,程序正常运行。