struct复习
时间:2010-03-06 来源:y307921462
#include<stdio.h>
printf("number%d\n",p->addr);//此处错误,还未获得成员
printf("number_add%d\n",p->addr) ;//正确,已经指向了定义了的结构体首部,可以引用成员了! |
想要再次提醒一下自己,struct student *p;是声名一个结构体指针,只是一个指针,指向一个结构为student的结构体,里面还没有成员,故不能引用里面的成员,否则将会出现段错误的执行错误,并且这种错误在编译的时候不会有问题,执行程序时才会出现错误。
以前经常会犯这样的错误,定义一个 结构体指针struct student *p;然后直接引用里面的成员,编译时候没错,执行时就发飙了,切忌切忌!