加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用extern声明外部变量

(2011-11-17 18:01:52)
标签:

it

分类: C语言

    1、在一个文件内声明外部变量

    什么是外部变量:在函数外部声明的变量。

    外部变量(全局变量)是在函数外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。在此作用域内,全局变量可以为程序中各个函数所引用。

#include<stdio.h>

int dd;       
int add(int a,int b)
 {
  extern  cc;
  int cout;
  cout=a+b+cc+dd;
  return cout;
 
 }
int cc=3;/ *全局变量cc的作用域从此处到该文件末尾。此处上面的函数不能直接使用它*/
int main(void)
{
 
 int i=1,j=2;
 int result;
 result=add(i,j);
    printf("%d\n",result);
 return 0;
}
    上面add()函数中在要引用cc这个局部变量,则应该用extern cc;声明cc已经是外部变量了,表示该变量是一个已经定义的外部变量。

2、在多文件的程序中声明外部变量

    如果一个程序包含两个文件,在两个文件中都要用到同一个外部变量NUM,不能分别在两个文件中各自定义一个外部变量NUM,否则在进行程序的连接时会出现"重复定义"的错误。正确的做法是:在其中某一个文件中定义外部变量NUM,在另一个文件中用extern对NUM做“外部变量声明”(exern NUM)。

   

int A;

main( )

{

  int power(int);//声明要调用的函数。

  int b=3,A=4;

  int c,d;

  c=A*b;

  printf("c=%d\n",c);

  d=power(b);

  printf("d=%d\n",d);

}

  

extern A;//声明A为一个已经定义的外部变量。

power(int n)

{

return (A*n);

}

 

 

注意:有的时候,我们希望某些外部变量仅限于本文件引用,而不能被其他文件引用。那么我们就要用关键字static声明。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有