全局变量,局部变量和形式参数

全局变量:全局变量在整个程序内都是可知的,因此可以被任何代码段所使用,他们在程序中执行时保持他们的值,可以再任何函数之外来创建他们,任何表达式都可访问他们。
全局变量存储在一个固定的存储区,这时由编译器设定的,当程序中多个函数使用一个变量时,全局变量就变得很有用。但是不必要的全局变量却会带来麻烦:
1、全局变量在整个程序运行中都占据内存,只有当程序结束时才被销毁。
2、在应该使用局部变量的地方使用全局变量会降低函数的同用行,因为全局变量必须依靠在他本身之外的定义。
3、使用大量的全局变量会使程序因为不可预知的副作用而产生错误。(有可能会因改变全局变量的值而产生错误)
例:
#include <stdio.h>
int count; //全局变量
int main()
{
count = 100 ;//可以使用count
func1 ();
return 0 ;
}
局部变量:在函数内部声明的变量成为局部变量,更具体的说是在代码块内部创建的变量叫做局部变量(代码块就是一对{}内的内容),局部变量在进入代码块被创建,出了代码块立即被销毁。
例如:
void fun1 ( void )
{
int x;
x = 10;
}
void fun2( void )
{
int x;
x = -99;
}
这两个x就是局部变量。因为局部变量在出了代码块就被销毁,因此我们可以使用static这个关键字修饰变量,使他的值保留下来。没有被static声明过得局部变量都存储在堆栈上。

例:
#include <stdio.h>
int count;      //全局变量
void func1( void );
int main()
{
     count = 100 ;
     func1 ();
     return 0 ;
}
void func1( void )
{
     int count;   //局部变量
     for (count = 1 ; count < 10 ; count++)
  {
      putchar ( '.' );
  }
}
在这个例子中count被定义了两次,一次是全局变量,一次是局部变量,当全局变量和局部变量重名时,在局部变量声明的区域内我们以局部变量作为引用对象,并且再次期间对于全局变量没有任何影响。

形式参数:形式参数出现在函数内,当函数要接受实参时,必须声明接受实参的变量,这些变量就是形参,同局部变量一样,形参再出了函数之后就被销毁。

转载于:https://www.cnblogs.com/Sunnylunch/p/5483136.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值