p.s.这几天加把劲,先把指针系列的例题搞定。。。
一个结构体变量的各个成员按照定义是的顺序,在内存中占用一段连续的存储单元,这段存储单元的首地址就是该结构体的变量的指针。可以定义一个指针变量,用来指向一个结构体变量,这样的指针变量被称为结构体指针变量。结构体指针变量也可以用来指向结构体中的元素。
#include<stdio.h>
#include<string.h>
int main()
{struct student
{long num;
char name[15];
char sex;
float score;
};
struct student s;
struct student *p;
p=&s;
s.num=97015;
strcpy(s.name,"WangFang");
s.sex='F';
s.score=95.5;
printf("Number Name Sex Score\n");
printf("%-9d%-14s%-4c %-8.1f\n",s.num,s.name,s.sex,s.score);
printf("%-9d%-14s%-4c %-8.1f\n",(*p).num,(*p).name,(*p).sex,(*p).score);
return 0;
}
运行结果
程序在main函数中首先定义结构体类型struct student,然后定义一个struct student类型的变量s和一个指向struct student 类型变量的指针变量p。
C语言中,(*p).num可以 p-> .name代替
下一篇 指针18( 指针与结构体类型2–指向结构体数组的指针)