什么是全局变量和局部变量
答案:2 悬赏:70 手机版
解决时间 2021-12-20 02:54
- 提问者网友:做自己de王妃
- 2021-12-19 14:20
什么是全局变量和局部变量
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-12-19 14:37
根据使用范围来区分的。
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
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
全部回答
- 1楼网友:平生事
- 2021-12-19 15:22
哦,回答的不错
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯