结构体指针
#include <stdio.h>struct stu
{
char name;
long number;
float score;
} ;
int main(void)
{
struct stu *p1, *p2 ;
p1->number = 100;
p2->number = 200;
printf("%d\n,%d\n",p1->number,p2->number);
while(1)
{
;
}
}
报错:
30 StrPtr 3300 _cygtls::handle_exceptions: Error while dumping state
(probably corrupted stack)
Segmentation fault (core dumped)
请帮忙分析哪里有段错误
找到问题了,错误有2:
1-野指针错误!
2-没有给新的结构体分配内存。更改后的代码如下:
#include <stdio.h>
struct stu
{
char name;
long number;
float score;
} ;
int main(void)
{
struct stu *p1=NULL, *p2=NULL ;
p1 = (struct stu*)malloc(sizeof(struct stu));
p2 = (struct stu*)malloc(sizeof(struct stu));
p1->number = 100;
p2->number = 200;
printf("%d\n,%d\n",p1->number,p2->number);
while(1)
{
;
}
}
页:
[1]