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

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



