struct list{int num;int score;struct list *next;}struct list *p,*listhead,*listpp=(struct list*)malloc(sizeof(struct list));listhead=p;listp=p;listp->next=NULL;listp->num=2;listp->score=86;
2 回答
已采纳
onemoo
TA贡献883条经验 获得超454个赞
结构体本身就是一段连续的内存空间,定义list类型的语句描述了在其中相应位置上该存什么东西(或者说是描述了该如何解释相应内存位置上的数据)。
p、listp 和 listhead 都被声明为struct list指针,且随后它们依次被指向为那段申请出来的内存。那么通过这些指针访问这段内存,编译器就会认为这段内存中的数据应按照list结构体来解释,所以可以通过这些指针来设置结构体的成员(这一步对编译器来说只不过就是在内存的相应位置上放入适当的数据)。
C语言中几乎所有的变量都是一段内存,这些内容如何使用完全是由该变量的类型决定的,这就是所谓C语言是强类型语言。
- 2 回答
- 1 关注
- 1853 浏览
添加回答
举报
0/150
提交
取消