一些有关结构体的概念
一般将结构体定义在函数外部。
给结构体中字符串赋值时一般要采用strcpy
strcpy(stu.name,”zhangsan”);
内存对齐的作用:提高程序的性能,降低了内存效率(产生了内存空洞)
4个字节对齐 2个字节对齐 1个字节对齐
成员中大于等于4个字节时,以4字节对齐。
#pragma pack(1) 以1个字节对齐
struct ....
{
}
#pragma pack()
共用体
共用体的长度由它最长的成员决定的。(仍然遵守内存对齐)
int num = 0x12345678(其中12为高字节,78为低字节)
12 | 78 |
34 | 56 |
56 | 34 |
78 | 12 |
高地址
小端大端 低地址
大,小端字节序
大,小端都从低地址开始放字节
小端把低字节放在低地址上,大端则相反。
Inter处理器为小端字节排序。
枚举
枚举 enum 字节长度为4
enum node
{
A, 相当于#define A 0 A = 10 若定义A = 10;
B, B 1 B = 11;
C, C 2 C = 16 定义 C = 16;
D, D 4 D = 17;
};