C语言复习
结构体:
结构体类型定义
学生: 属性:
struct 结构体名{
姓名: char name[20]; “字符串” 属性1;
身高: int height; 整数 属性2;
三门成绩: float scores[3]; 浮点数数组 属性3
};
定义一个学生的数据类型
struct student{
char name[20];
int height;
float scores[3];
};
表示定义了一个数据类型,该数据类型的名字叫struct student
结构体变量
变量的定义并赋值
输入
输出
结构体的复制
作业:
定义了一个学生的结构体:姓名,身高,三门成绩,并进行输入输出
结构体指针
定义一个指向结构体的指针
定义一个指向int的指针
int * pi; pi---->(int )
sizeof(pi)=4 pi+1 sizeof(int)
定义一个指向结构体(struct student)的指针
struct student * ps; ps–>(struct student)
sizeof(ps)=4 ps+1 ---->sizeof(struct student)
输入 指针名->成员名
输出
结构体指针和malloc函数
功能:在堆区动态的分配的空间
malloc函数:
参数1:分配空间的字节数
返回值:分配成功返回空间的首地址,否则返回NULL
void —>空
void * —>表示任何数据类型的地址
任务:需要大家在堆区分配5个存结构体(Stu)的空间
定义一个结构体数据类型并取别名
定义一个结构体指针
使用malloc在堆区分配5个存Stu的空间,并将其存入结构体指针中
释放
求ps指向空间中身高最高的学生的首地址