全局变量与局部变量有什么区别,怎么实现
展开全部
全局变量在类中各处都可以访问,局部变量则在定义范围内有效,比如某个方法中,某个if
else块内,for循环块内
else块内,for循环块内
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
0
加载更多
引子---
?
??
???变量可以在程序中三个地方说明:
函数内部、函数的参数定义中或所有的函数外部。根据所定义位置的不同,
变量可分为局部变量、形式参数和全程变量。从空间角度来看,变量可以分为全局变量和局部变量,而从时间角度来分的
可以有静态存储变量和动态存储变量之分。
一。全局变量和局部变量
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
0
加载更多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询