【c语言基础必备】全局变量与局部变量

        全局变量,也称外部变量,在函数体外定义,不是哪一个函数所特有的。全局变量又可以分为外部全局变量和静态全局变量,它们之间的最大区别在于,使用static 存储类别的全局变量只能在被定义的源程序文件中使用,而使用extern 存储类别的全局变量不仅可以在被定义的源程序文件中使用,还可以被其他源文件中的函数引用。如果要在函数中使用全局变量,那么通常需要作全局变量说明。只有在函数内经过说明的全局变量才能使用。但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。 例如:

#include <stdio.h>
int a=0;
void print(void)
{
   printf("global variable a=%d\n", a);
}
int main(void)
{
  print();
  return 0;
}


因为全局变量a 在print() 函数之前定义,所以在print() 函数中使用a 时无需说明,但是
下面的代码在运行时会出错。
#include <stdio.h>
void print(void)
{
  printf("global variable a=%d\n", a);
}
int a=0;
int main(void)
{
  print();
  return 0;
}
因为全局变量a 的定义出现在print() 函数之后,所以在print() 函数中使用a 时需要说明,应该在print() 函数的printf 语句上面加一句“extern int a;”来说明,这样才可以使用全局变量。局部变量是相对于全局变量而言的,即在函数中定义的变量称为局部变量。当然,由于形参相当于在函数中定义的变量,所以形参也是一种局部变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值