结构体数组指针
指针变量可以指向一个结构体数组,这时指针变量的值是整个数组的首地址。
设 ps 为指向结构体数组的指针变量,则 ps 也指向该结构体数组的第0个元素,ps+1指向第一个元素,ps+i则指向第i元素,这与普通数组的情况是一样的。
【示例】用指针变量输出结构体数组。
#include
struct stu{
int num;
char *name;
char sex;
float score;
} *ps, boy[5]={
{101, "Zhou ping", 'M', 45},
{102, "Zhang ping", 'M', 62.5},
{103, "Liou fang", 'F', 92.5},
{104, "Cheng ling", 'F', 87},
{105, "Wang ming", 'M', 58}
};
int main(){
printf("No\tName\t\tSex\tScore\t\n");
for(ps=boy; ps
printf("%d\t%s\t%c\t%f\t\n", ps->num, ps->name, ps->sex, ps->score);
return 0;
}
运行结果:
No Name Sex Score
101 Z