一、结构体(struct)
(一)、结构体定义(definition)
结构体是一个或多个变量的集合,这些变量可以是不同的类型,为了方便处理把这些变量放在同一个结构内。
1、方式1
先定义结构体date后再定义结构体变量Date。
struct date
{
int year;
int month;
int day;
};
date Date;
或者定义结构体date的同时顺便定义结构体变量Date。
struct date
{
int year;
int month;
int day;
}Date;
或者不给结构体名字,直接定义变量Date。
struct
{
int year;
int month;
int day;
}Date;
2、方式2
typedef关键字可来定义程序员习惯的数据类型名称,这同样可以用在结构体上,值得注意的是这里的date是结构体类型而不像上面一样是结构体变量名。
typedef struct
{
int year;
int month;
int day;
}date;
(二)、结构体初始化(initialization)
Date.year = 2019;
Date.month = 6;
Date.day = 20;
二、结构体指针(struct pointer)
(一)、结构体指针定义
date Date;
date *p; //第二三句合并为date *p = &Date;
p = &Date;
该结构体的变量在内存中的分布如下图。(以四字节对齐为例)