局部变量适用于一个函数内还是函数的一个大括号内?

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/10 14:40:44
局部变量适用于一个函数内还是函数的一个大括号内?
xTN@,d*YoJ, $ɄyXj !u D Ęx/޹!vl,ݙ{̌7v6R HlRfkg&j6~G{G72oEln/9=u?/6 ypfI?^hKNcni;AcV&Nn Du 9@C ^<߅>2/`_ݟTV|3#;->B$$fR"p2W^&ID8?BĨq{Y bY>0'Gk.K٦ʹK-AĞxTv{lCLףi`!f=LDAY8aϤi"kx*7^A/ٸ9._k/qut3:Eˁ;Oqxszq598AnWK6

局部变量适用于一个函数内还是函数的一个大括号内?
局部变量适用于一个函数内还是函数的一个大括号内?

局部变量适用于一个函数内还是函数的一个大括号内?
这个牵扯到变量作用域的问题
一般来说,他的作用域是:声明这个变量的地方开始,到所包含这个变量的或括号{}的后半个花括号}结束
理解就是,声明这不过变量的地方开始,这个是没问题的吧
主要是结束的地方.全局变量,在函数外部,那么就是这个文件中起作用
局部变量,只是在声明他的那个{}中起作用
举例子
int x; //这个是全家变量,为1号,整个文件起作用,包括后面的子函数
int f(...)
{
.//1号在这里也起作用
}
main()
{
int x; //2号,这个是局部变量,在main中起作用,这个时候1号不起作用
.//这里2号起作用,1号不起作用,3号还没有声明
{
int x; //3号,这个也是局部变量,这个时候1 2号都不起作用
.
} //3号到这里结束,后面的3号不起作用
.//这个地方2号起作用,1 3都不起作用
} //2号到这里结束,后面的2号不起作用
.如果这里还有代码,1号起作用,23都结束了
通过上面的代码,你该能明白作用域的问题了吧
这个x是可以随时定义的,但作用域不同.
名字相同也是可以的,但是这样的话代码不好读懂,不建议这么使用