定义
struct 结构体类型名
{
成员类型 成员名
...
成员类型 成员名
}
声明
struct PersonInfo
{
int index;
char name[30];
short age;
};
PersonInfo pInfo;
- 方式2:定义结构体时直接声明,直接声明时,可以声明多个变量
struct PersonInfo
{
int index;
char name[30];
short age;
} pInfo1, pInfo2;
初始化
#include <iostream>
pInfo.index = 0;
pInfo.age = 30;
strcpy(pInfo.name,"Geroge");
struct PersonInfo
{
int index;
char name[30];
short age;
} pInfo = {0,"George",30};
结构体指针变量只有初始化后才可以使用
结构体的大小
- 不对齐
- 在没有要求字符对齐时,对齐单元为1时,结构体变量的大小就是定义结构时各成员大小之和。
- 可以用sizeof获取结构体的大小
- 对齐
- 默认结构体成员对齐单元的大小是8个字节
- 结构体成员的偏移量必须是成员大小的整数倍
- 结构体的大小必须是所有成员大小的整数倍