linux 中使用结构体指针 segmentation fault

来源:互联网 发布:点击广告 软件 编辑:程序博客网 时间:2024/06/10 05:17

今天在编写一个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));

该语句来初始化实例之后,程序正常运行。

原创粉丝点击