c语言提供局部变量的定义,局部变量也称为“内部变量”。 局部变量是在大括号{ }中包含的代码块内定义的。 示例:
if () }
if () else
for () }
while () }
do{ } while (;
switch () }
还有函数的定义。 示例:
voidfunc(void ) }
在大括号{}中的代码块中定义的变量称为局部变量。 程序测试示例如下。
程序的执行结果如下。
可以看出在main函数中定义的变量a和变量b都是局部变量。 用func函数定义的变量a和变量c都是局部变量。
局部变量的作用域和生命周期位于定义的代码块中。 所以,总结如下。
(1)由main函数定义的局部变量a、b的作用域在main函数内,生命周期也在main函数内。
)2)用func函数定义的局部变量a、c的范围在func函数内,生命周期也在func函数内
)3) main函数和func函数定义的局部变量,变量名可以相同,但是是不同的对象。
局部变量的范围很容易理解,只要离开定义局部变量的代码块,就不能使用局部变量,因为它超出了范围。 现在,有关局部变量的生命周期,请参考以下测试示例: 程序测试示例如下。
程序的执行结果如下。
调用func(9)函数时,会看到在func函数中定义了局部变量a,然后累计局部变量a的值为9。 接下来,在调用func(10 )函数时,进入func函数。 此时,重新定义局部变量a。 然后,累计局部变量a的值为10。
那么,调用func(9)函数时,定义了局部变量a。 此时,func )函数调用完成并离开func函数代码块时,局部变量a将被丢弃。 此时,局部变量a的生命周期结束。
因此,下次调用func(10 )函数时,将进入func函数。 此时,即使重新定义局部变量a,它也与调用func )函数时创建的局部变量a没有任何关系。
这是因为,如果离开定义了局部变量的代码块,则局部变量将被丢弃,其生命周期将结束。 所以,我们可以总结:
)1)局部变量的范围位于定义该局部变量的代码块内。
)2)局部变量的生命周期在定义该局部变量的代码块中。
因此,如果局部变量离开定义它的代码块,局部变量声明周期将结束,变量将被放弃,无法再使用。
dsdhxc Linux C/C编程教程,Linux系统编程,Openwrt系统开发,微信336013926572996,QQ:1523520001,博客: www .