【摘要】:p是指向struct student结构体类型数据的指针变量。在for语句中先使p的初值为stu,也就是数组stu第一个元素的起始地址。然后执行p++,使p自加1。p指向了结构体数组中的stu[1]即“走”过了本例中2+20+1+2=25字节的存储单元,p指向了stu[1],输出stu[1]中的各成员值之后,在进行下一次循环。下面的用法是不对的:
10.3.2 指向结构体数组的指针
结构体数组及其元素可以用指针变量来指向。
【例10-4】指向结构体数组的指针的应用。
程序运行结果:
p是指向struct student结构体类型数据的指针变量。在for语句中先使p的初值为stu,也就是数组stu第一个元素的起始地址。在第一次循环中输出stu[0]的各个成员值。然后执行p++,使p自加1。p指向了结构体数组中的stu[1]即“走”过了本例中2+20+1+2=25字节的存储单元,p指向了stu[1],输出stu[1]中的各成员值之后,在进行下一次循环。
注意:程序已定义了p是一个指向struct student类型数据的指针变量,它用来指向一个struct student类型的数据,不应用来指向stu数组元素中的某一成员。下面的用法是不对的:
p=stu[0].name;
编译时将给“警告”信息,表示地址的类型不匹配。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。