struct 内存布局 · 把多个成员打包成一个整体
声明顺序依次连续排列 · int 4 + char[4] 4 + double 8 = 一块 16 字节的连续空间
① 定义类型(一张图纸,不分配内存)
struct
Student
{
int id;
char name[4];
double gpa;
};
三个不同类型的成员,统一一个名字
Student s;
← 定义变量才分配内存
实例化
② 在内存中:按声明顺序连续排成一块
+0
+4
+8
+16
int id
1024
4 字节
char name[4]
L i u \0
4 字节
double gpa
3.91
8 字节
Student s
一整块连续空间,用一个变量名表示
s.id
s.name
s.gpa
用「成员名」访问各分量(点运算符 .)
▶ 重播