在一个源程序的所有源文件中,一个外部变量只能在某个文件中定义一次,而其他文件可以通过extern声明来访问它(定义外部变量的源文件中也可以包含对该外部变量的extern声明)。外部变量的定义中必须制定数组的长度,但extern声明则不一定要制定数组的长度。
在文件file1中
extern int sp;
extern double val[];
void push (double f)
{
.....
}
double pop(void)
{
}
在文件file2中
int sp = 0;
double val[MAXBAL];
static
1>用static定义的静态局部变量,只给该变量赋值一次,在变量参加运算后,变量的值可以保持住,不能再赋值,比如:
for(int i=0;i<2;i++)
{static int a=0;
a+=1;} 
运行完a的值是2,如果不加static,a的值是1,因为加了static 第二次运行
static int a=0无效,a已经是1了,如果不加static,a又变成0了。
2>如果用static申明了一个全局变量,那么这个全局变量被限定为本文件使用,其他文件不能使用,如果不加static,这个全局变量可以被其他文件使用,比如:
file1.c 中                
 int a ;
file2.c中
extern int a;                 
这样file2.c就可以使用a;
如果在file1.c中int a;改为
static int a ;
file2.c中就不能用变量a了,只有file1.c文件才可以a

exter与static的用法相关推荐

  1. 【C++】C/C++ 中 static 的用法全局变量与局部变量

    C/C++ 中 static 的用法全局变量与局部变量 目录 1. 什么是static? 1.1 static 的引入 1.2 静态数据的存储 2. 在 C/C++ 中static的作用 2.1 总的 ...

  2. C和C++中static的用法及友元

    C和C++中static的用法 文章目录 C和C++中static的用法 一.**C语言中**: 二.**C++中**: 三.**友元**: 一.C语言中: static 修饰全局变量表示该变量只在本 ...

  3. C/C++中static的用法全局变量与局部变量

    转载自C/C++中static的用法全局变量与局部变量 1.什么是static? static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1static的引入 我们知道在 ...

  4. 《编码规范和测试方法——C/C++版》作业 ·002——函数返回地址、static关键词用法整理

    文章目录 一.函数返回地址的情形 1.函数返回值为指针 二.static关键字用法整理 1.static全局变量 2.static局部变量 3.static函数 4.类的static成员数据 5.类的 ...

  5. C语言初阶-C语言中static的用法

    目录 前言 1.static的定义 2.static修饰局部变量 2.static修饰全局变量 3.static修饰函数 总结: 前言 哈喽,大家好,我是大鹏,目前是一名大二的学生,今天给大家带来的是 ...

  6. c语言中的static和extern,C语言extern与static的用法,及extern “c

    C语言extern与static的用法,及extern "c " 一.c语言static与extern的用法 1.static和extern: 大工程下我们会碰到很多源文件. 文件 ...

  7. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  8. static关键字用法

    static关键字 1.修饰成员变量 在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句 ...

  9. typedef,static,const用法

    一.typedef主要功能是定义一个已存在类型的别名,但是和宏并存 宏与typedef区别 1.宏定义只是简单的字符串替换 2.typedef定义的类型是类型的别名,typedef后面是一个整体声明, ...

  10. c++ static 关键字用法

    http://www.cnblogs.com/hucn/archive/2011/03/25/1995386.html 一. static 变量 static变量大致分为三种用法 1. 用于局部变量中 ...

最新文章

  1. 企业/团队不会做目标管理,还怎么高执行力建设2021-02-24
  2. 007_请求返回Json
  3. NTU生活:NTU景点
  4. 使用JavaScript代码制作99乘法表
  5. php if判断两个条件_PHP中if相关条件语句该如何理解使用?
  6. 【Zookeeper】编程实战之Zookeeper分布式锁实现秒杀
  7. 使用webpack搭建个性化项目
  8. qt5 窗体显示完毕信号_iPhone手机信号不好?试试这样设置,随时随地让你的手机信号满格...
  9. 确定计算机配置方案的原则,确定计算机配置方案的原则
  10. Java基础学习总结(21)——常用正则表达式列表
  11. Ubuntu18.04 + CUDA10.0 + tensorflow-gpu 安装过程
  12. 关于SubSonic3.0插件使用SubSonic.Query.Select查询时,字段类型为tinyint时列丢失问题的Bug修复...
  13. 恒压供水程序 三菱plc恒压供水程序,威纶触摸屏程序
  14. UWP 如何访问本地代理
  15. App渠道安装来源识别与匹配
  16. Pytorch:一、对图片数据进行标准化(猫狗)
  17. 教你做一个微信添加好友收付款的个性二维码
  18. 可以几分钟快速对接支付宝APP支付和手机网站支付?
  19. 输出一个小游戏——三子棋
  20. 虚幻蓝图实现只狼的钩索系统(2)-射线检测

热门文章

  1. i3 9350KF和i5 9400F的区别
  2. IPSec Over GRE配置实验
  3. 五点差分法求解偏微分方程(PDE)
  4. APP渠道:安卓app推广渠道都有这几个!
  5. web前端简易网页制作
  6. 关于sql server中isnull(值,值)是什么意思
  7. BZOJ2109: [Noi2010]Plane 航空管制 解题报告
  8. 2022年虎年新春致地球上全体读者朋友们的一封书信
  9. .NET Core剪裁器Zack.DotNetTrimmer升级瘦身引擎,并支持剪裁计划的录制和回放
  10. 出售主题HTML代码,房地产HTML主题