指针指向结构体:
1. p -> n 得到 p 指向的结构体变量中的成员 n 的值
2. p -> n ++ 得到 p 指向的结构体变量中的成员 n 的值,用完值后使它加1
3. ++p -> n 得到 p 指向的结构体变量中的成员 n 的值使之加 1 (先加)
struct student stu[3] = {{10101, "Li Lin", 'M', 18},
{10102, "Zhang Fun", 'M', 19},
{10103, "Wang Min", 'F', 20}};
void main()
{
struct student *p;
for(p=stu; p<stu+3;p++)
printf("%5d %-20s %2c %4d\n", p->num, p->name, p->sex, p->age);
}
如果 p 的初值为 stu,即指向第一个元素,则 p + 1 后指向下一个元素的起始地址。例如:
(++p) -> num 先使 p 自加 1 ,然后得到它指向的元素中的 num 成员的值(10102),得到的值是10102,指向的也是stu[1]
(p++) ->num 先得到 p->num 的值(10101),然后使 p 自加 1 ,指向 stu[1],得到的是stu[0]的值,指向的是stu[1]]中的成员
|
|