1、用static声明外部变量

若希望某些外部变量只限于被本文件引用,而不能被其他文件引用,可以在定义外部变量时加一个static声明。

例:(file1.c)

#include <stdafx.h>
#include<stdio.h>
void main()
{
int power(int);
int b=,c,d,n;
printf("enter the number a and its power n:\n");
scanf("%d%d",&A,&n);
c=A=b;
printf("%d*%d=%d\n",A,b,c);
d=power(n);
printf("%d^%d=%d\n",A,n,d);
}

(file2.c)

#include <stdafx.h>
#include<stdio.h>
extern A;
int power(int n)
{
int i,y=;
for(i=;i<=n;i++)
{
y*=A;
}
return(y)
}

变量的声明和定义:

(1)声明部分出现的变量有两种情况:一种是需要建立存储空间的(如:int a;),另一种是不需要建立存储空间的(如:extern a;)。

(2)广义地说,声明包括定义,但并非所有的声明都是定义。

2、内部函数和外部函数

函数本质上是全局的,因为一个函数要被另一个函数调用,但是也可指定函数不能被其他文件调用。

根据函数能否被其它源文件调用,将函数分为内部函数和外部函数。

定义内部函数时,在函数名和函数类型前面加static。

即:static 类型标识符 函数名 (形参表)

如:static int fun(int a,int b);

(1)在定义函数时,如果在函数的最左端加关键字extern,则表示此函数是外部函数,可供其他文件调用。若在定义函数时省略extern,则默认为外部函数。

(2)在需要调用此函数的文件中,用extern对函数作声明,表示该函数是在其他文件中定义的外部函数。

最新文章

  1. CSS3 :target伪类实现Tab切换效果
  2. MVVM 模式下iOS项目目录结构详细说明
  3. unittest使用过程中sys.exit(not self.result.wasSuccessful())
  4. Unix/Linux 用户 nobody
  5. Linux下安装firefox的flash插件
  6. Please ensure that adb is correctly located at……问题解决方案
  7. [未完成]关于SQL语句的总结
  8. Delphi重载,覆盖,多态
  9. 阐述linux IPC(五岁以下儿童):system V共享内存
  10. HDU 4006 The kth great number 优先队列、平衡树模板题(SBT)
  11. arguments对象详解
  12. idea 中add configuration
  13. Java中的enum枚举类
  14. 学习Android过程中遇到的问题及解决方法——AS为xutils添加依赖
  15. vue-cli脚手架目录一览
  16. P1330 封锁阳光大学
  17. c++的各种类型转换方式
  18. Wpf中显示Unicode字符
  19. weixin.com域名易主 传交易价格仅次360.com
  20. IOS学习之基于IOS7的tab bar

热门文章

  1. SQL去除数据库表中tab、空格、回车符等特殊字符的解决方法
  2. A simple problem(湘大邀请赛)
  3. mediainfo使用
  4. hihoCoder编程练习赛49
  5. Java并发编程学习:线程安全与锁优化
  6. CSS-水平和垂直居中
  7. 在php中使用对称加密DES3,开发银行卡绑定,实名验证……
  8. Salesforce 大量数据部署的最佳实践
  9. 布局优化之ViewStub源码分析
  10. &lt;自动化测试方案_1&gt;第一章、为什么要做自动化测试?(Why)