目录
普通局部变量
定义形式:在{ } 里面定义的变量
作用范围:离他最近的{ }之间
生命周期:离他最近的{ }结束 局部变量被释放
存储空间:栈区
注意事项: 不初始化内容随机
普通全局变量
定义形式:在函数外定义的变量- 作用范围:当前源文件以及其他源文件
- 生命周期:整个进程
- 存储空间:全局区
- 注意事项: 不初始化内容为0
- 特点:c语言全局变量默认加了关键字 extern
- 外部连接属性
静态局部变量
定义形式:在{ }里面定义 且加static修饰
作用范围:离他最近的{ }之间
生命周期:整个进程
存储空间:全局区
注意事项: 不初始化内容为0
静态全局变量
定义形式:函数外定义 且用static修饰- 作用范围:只在当前文件有效
- 生命周期:整个进程
- 存储空间:全局区
- 注意事项: 不初始化内容为0
- 特点:运行前分配内存
- 内部链接的属性
常量
const 修饰的全局常量
- 直接修改 失败
- 间接修改 语法通过 运行失败,收到常量区保护
- const 修饰的局部常量
- 直接修改 失败
- 间接修改 成功 局部变量实在栈上面
- 字符串常量
- vs下相同的字符串常量可以共享,相同字符串可以看一个
- 字符串常量有的编译器可以修改,vs是不可以修改,不同编译器可能有不同的结果