变量 | 生命周期 | 作用域 | 默认值 | 内存区域 | 链接属性 | |
全局变量 (定义在函数外的变量) | 普通全局变量 | 程序运行时创建,程序退出时销毁 | 从定义开始到本文件结尾都可以使用 | 0(没有初始化时的值,默认不允许使用) | 全局变量区 | 外部(其他文件也能用) |
静态全局变量
| 内部(只本文件使用) | |||||
局部变量 (在函数内部定义的变量,包含形参) | 普通局部变量 | 进入函数创建,退出函数销毁 | 本函数内部有效 | 随机值 | 栈 |
|
静态局部变量(非常少用) | 第一次执行该语句创建,程序结束时销毁 |
| 0 | 全局变量区 |
| |
动态内存 | 调用时创建,free()销毁 |
| 随机值 | 堆 |
| |
函数 | 普通函数 |
|
|
| 代码段 | 外部 |
静态函数 | 内部 |
熟记各变量的特征很重要,最近写程序时候总在这块犯错,今天来整理发个博客记录。