c语言疑惑太多?

[复制链接]
查看11 | 回复3 | 2012-11-29 14:33:28 | 显示全部楼层 |阅读模式
我看得没错的话,你的data[2]数组定义应该放在MAIN内部,不知道放在外部是什么意思,是要定义全局变量?data数组是一个含有两个struct st类型结构体元素的结构数组,首元素的x,y成员变量值分别为1,10.第二个元素x,y值分别为2,20指针p是结构指针,直接指向data数组的首地址,也就是说操作p就相当于操作data。因此p->y是取首元素成员y的值,输出为10.(++p)->x先将p的值即当前地址值加一,此时p指向第二个元素,然后再做p->x,即取第二个元素的x成员的值,也就是输出2.(++p)->x这句话实质上是两句话(p=p+1;p->x;)最后输出结果为:10,2不知你是否看懂了。...
回复

使用道具 举报

千问 | 2012-11-29 14:33:28 | 显示全部楼层
#include头文件 struct st
结构体st {int x,y;} data[2]={1,10,2,20};
定义st数组 data[2]={1,10,2,20};main() {struct st *p=data;定义st 指针 指向data数组
printf("%d,...
回复

使用道具 举报

千问 | 2012-11-29 14:33:28 | 显示全部楼层
10,2...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行