一些有关结构体的概念
一般将结构体定义在函数外部。
给结构体中字符串赋值时一般要采用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;
};
本文介绍了结构体的基本概念,包括其定义、使用方法以及如何在结构体中进行正确的字符串赋值。此外,还探讨了内存对齐的原则及其对程序性能的影响,并解释了共用体的特性及大、小端字节序的区别。
1449

被折叠的 条评论
为什么被折叠?



