一个C语言 结构体方面的习题

[复制链接]
查看11 | 回复4 | 2012-3-5 20:45:33 | 显示全部楼层 |阅读模式
(p++)->age 表示学生结构体类型的数据stu的第一个数组元素中的第一个年龄(age)数据d的地址存储在指针类型的变量p中。p的值在使用过后会自动发生加一的变化,即使得至指针变量p内存储学生结构体类型的stu的第二个数据元素的年龄数据变量的地址,以此类推,再次变化就是第3个地址的跳跃(地址变化不同于数据的赋值,不是单纯的加一),一直可以到N。 同理,分析可以知道,这个是我的愚见,大概是自己的见解,可能不对,请斟酌给与指教。...
回复

使用道具 举报

千问 | 2012-3-5 20:45:33 | 显示全部楼层
首先两个变量都是用指针来访问所初始化后的结构体,你这个应该是在循环p来取得struct student stu[3]={{1001,20},{1002,19},{1003,21}};中的三个成员,因为stu[3]为结构体数组,p =stu,p每+一次,指针向后移位一个结构体长度,即第一次取到(p++)->age =20,之后在取时就是(p++)-...
回复

使用道具 举报

千问 | 2012-3-5 20:45:33 | 显示全部楼层
(p++)->age 意思是,把数组的地址赋给p,然后p再加1;(*++p)->age意思是,p先 加1,然后把age的值赋给(*++p)就这样,望采纳!...
回复

使用道具 举报

千问 | 2012-3-5 20:45:33 | 显示全部楼层
(p++)->age 代表先用当前age值(1001),之后P先下指;(*++p).age 代表P先向下指,之后取值 1002相当于(++p)->agel...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行