结构类型
声明结构类型
声明形式
struct <结构名称>{
数据类型 成员名称;
数据类型 成员名称;
数据类型 成员名称;
} <变量名>;
eg:
struct date{
int year;
int month
int day;
} today;
eg:
struct date{
int year;
int month
int day;
};
struct date today;
声明位置
- 声明在函数内部,只能在函数内部使用
- 声明在函数外部,可以被多个函数使用
结构的初始化
struct date{
int year;
int month
int day;
};
struct date today = {2022,10,5};
struct date yesterday = {.month = 10,.day = 4}
结构的使用
- 结构和数组有点像
- 数组用
[]
访问其成员,结构用.
来访问其成员
struct date{
int year;
int month
int day;
};
struct date today = {2022,10,5};
printf("Today is %d/%d/%d\n",today.year,today.month,today.day);
结构运算
- 要访问整个结构,直接使用结构变量的名字
- 对于整个结构,可以赋值,取地址,也可以传递参数给函数
- day1 = (struct date){2022,10,5};
- day2 = day1;
结构指针
- 和数组不同,结构变量的名字并不是结构变量的地址,需要使用&运算符
- struct date *pDate = &today;