目录
8:strcat、strncat、strcmp、strcpy哪些函数会导致内存溢出?如何改进?
1:static的用法(定义和用途)
static修饰局部变量:使其变为静态存储方式(静态数据区),函数执行完成之后不会被释放,而是继续保存在内存中;
static修饰全局变量:使其只在本文件内部有效,其他文件不可链接或引用该变量;
static修饰函数:静态函数,即函数只在本文件内部有效,对其他文件不可见;避免同名干扰,同时保护
2:struct、union的异同
-
struct中每个变量依次存储;union中,每个变量都是从偏移地址零开始存储,同一时刻只有一个成员存储于该地址
-
struct内存大小遵循结构对齐原则
-
数据成员对齐规则:每个数据成员存储的起始位置要从该成员大小的整数倍开始
-
数据成员包含结构体:结构体成员要从其内部最大元素对象的整数倍地址开始存储
-
结构体总大小:其内部最大基本成员的整数倍,不足则要补齐
-
-
union内存大小为其最大成员的整数倍