C/C++变量的作用域
C语言变量的作用域分为:
- 代码块作用域(代码块是
{}
之间的一段代码) - 函数作用域
- 文件作用域
1. 局部变量
局部变量也叫auto
自动变量(auto
可写可不写),一般情况下代码块{}
内部定义的变量都是自动变量,它有如下特点:
- 在一个函数内定义,只在函数范围内有效
- 在复合语句中定义,只在复合语句中有效
- 随着函数调用的结束或复合语句的结束局部变量的声明声明周期也结束
- 如果没有赋初值,内容为随机
#include <stdio.h>
void test(){
//auto写不写是一样的
//auto只能出现在{}内部
auto int b = 10;
}
int main(void){
//b = 100; //err, 在main作用域中没有b