- #include<stdio.h>
- #include<stdlib.h>
- struct student{
- int num; //学生学号
- char name[20]; //学生姓名
- char sex; //学生性别
- int age; //学生年龄
- float score; //学生成绩
- };
- void main()
- {
- struct student student1={1001,"liming",'M',20,92.5}; //定义结构体变量
- struct student *p; //定义指针变量指向结构体类型
- p=&student1; //使指针指向结构体变量
- printf("Number:%d\n",p->num); //输出学生学号
- printf("Name:%s\n",p->name); //输出学生姓名
- printf("Sex:%c\n",p->sex); //输出学生性别
- printf("Age:%d\n",p->age); //输出学生年龄
- printf("Score:%2.1f\n",p->score); //输出学生成绩
- system("pause");
- }
一个结构体变量的指针就是该变量所占据的内存段的起始地址,用一个指针变量指向一个结构体变量,此时该指针变量的值就是结构体变量的起始地址
我的理解为:结构体变量大家都好懂,关于typedef xx struct 的用法自己可以百度。在定义结构体变量后,获得相关信息,然后在定义指针,用这个指针来表示相关信息的位置,获得内存和后期使用信息。