1.结构体定义
结构体是c语言中特别重要的知识点,结构体使得c语言有能力描述复杂类型。比如描述学生,学生包括名字,年龄,成绩等几项信息。
这里只能用结构体来描述了。
2.基本结构
#include <stdio.h>
struct stu
{
char name[20];
int age;
float score;
};
struct 学生类型
{
变量类型 成员变量名
变量类型 成员变量名
};
定义了一个名为stu的结构体,其中内容包括名字,年龄,成绩。
3.结构体的初始化及其使用
#include <stdio.h>
struct stu //定义了一个学生的类型的结构体
{
char name[20];
int age;
float score;
}; //注意分号
int main()
{
//在引用的时候,我们需要定义一个变量名用来存放结构体,这里我们定义了s
struct stu s = { "张三",20,85.5 }; //结构体的创建和初始化
printf("1:%s %d %f\n", s.name, s.age, s.score);
struct stu *ps = &s;
printf("2:%s %d %f\n", (*ps).name, (*ps).age, (*ps).score);
printf("3:%s %d %f\n", ps -> name, ps -> age, ps -> score);
return 0;
}
三种引用方式:
1.在引用的时候,我们需要重新命令一个变量名用来存放结构体,这里我们定义了s
在打印引入变量的时候,用(结构体变量.成员变量) s.name
(这里是直接引用结构体里面的成员变量值)
2.也可以把结构体里的成员变量地址存放入指针中
定义一个指针struct stu *ps =&s
在printf引用的时候基本结构是$(*ps).name$
把指针解引用之后把成员变量值放入其中(这里解引用存放的是值)
3.一种更直观的方法,就是直接把指针指向成员变量的地址
ps -> name(这里指针指向的是成员变量的地址)