C语言中的“局部变量”是什么意思?

如题所述

局部变量是指在程序中,只在特定过程或函数中可以访问的变量,是相对于全局变量而言的。
在C语言中,局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。
#include

int fun(int a)
{
int temp; // 变量temp就是定义的一个局部变量,在fun函数执行完后,其在内存中占用的内存区就会释放回收
temp = 2*a;
return temp;
}
int b; // 变量b就是一个全局变量,当程序执行完后,才释放其占用的内存
void main()
{
int a=2; // 变量a也是局部变量
b = fun();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-08
C语言中全局变量有两种情况:
1.
定义在所有函数之外的变量;
2.
用static修饰的变量;
其余的变量都是局部变量,即定义在某个函数或者代码段内部,其作用域局限于这个函数或者代码段。
第2个回答  2019-11-16
静态局部变量是为了再下一次进入其所属函数时,变量的值仍保持上一次的值.而main函数在程序的一次运行中只会运行一次,所以设置静态局部变量就没有意义了.
第3个回答  2020-03-02
就是在某个函数内的变量,不会影响到其他的变量的!
而全局变量的话,很有可能就会影响到其值的变化.
第4个回答  2020-01-17
C语言全局变量和局部变量
引子---
?
??
???变量可以在程序中三个地方说明:
函数内部、函数的参数定义中或所有的函数外部。根据所定义位置的不同,
变量可分为局部变量、形式参数和全程变量。从空间角度来看,变量可以分为全局变量和局部变量,而从时间角度来分的
可以有静态存储变量和动态存储变量之分。
一。全局变量和局部变量
1。局部变量
他是
指在函数内部定义的变量
作用域为定义局部变量的函数
也就是说他只能在定义他的函数中使用
最值得注意的是
只有在程序执行到定义他的模块时才能生成,一旦执行退出该模块则起变量消失
eg.
func
()
{
?
?int
x;?
?局部变量x的作用域
很明确
?
?......
}
2。全局变量
在程序执行的过程中一直有效
eg.
int
x=1;
func
()
{
?
?x=x+1;
}
func1
()
{
??x=x-1;
}
main
()
{
}
由此不难看出整型x的作用范围
对于全局变量
如果在定义的时候不做初始化
则系统将自动为起赋值
数值型为0
字符型为空'\0'
全局变量的弊端
增加内存开销
降低函数的通用性
定义全局变量时
理想的位置是在文件的开头
当这些函数以及同一个程序中的其他源程序文件中的某些函数需要使用该全局变量时
在函数内部对该变量使用extern
加以说明
说明他是外部的
(这里还要做详细的讲解)
eg.
main
()
{
extern
int
a,b;
printf
("mIn
is
%d\n",min(a,b));
}
int
a=1,b=2;
int
min
(x,y)
int
x,y;
{
int
z;
z=x

评论
0

0

加载更多