c语言extern关键字详解
在c语言中代码的执行顺序是从上往下执行的,如果定义的函数或者变量在调用之后,那么调用的时候编译就会找不到需要使用的变量。这样就会出现错误,如下代码:
#include<stdio.h>int main(){printf("%d",num);function();return 0;
}int num =5;void function(){printf(" hello word main function\n");
}
执行这句代码就会出现错误,错误原因就是因为,num和funcion函数定义在main函数的下面导致main函数中执行num和function的时候编译器并没有编译到那里所有编译器就会认为没有定义num和function 函数所以会出现错误。那么我可以使用extern关键字来改正个问题。extern关键字可以 让变量全局化。
#include<stdio.h>extern int num ;
void function();int main(){printf("%d",num);function();return 0;
}int num =5;void function(){printf(" hello word main function\n");
}
这样就可以正常运行了。extern 关键字还可以调用其他.c文件中的变量和函数 如下:
test_extern.c#include<stdio.h>int num =5;
int age=29;
char name="make";void func(){printf(" 调用 test_extern函数!!\n ");
}test_main.c#include<stdio.h>int main(){extern int num ;extern int age;extern char name;extern void func();func();printf("%d\n",num);printf("%d\n",age);pirntf("%s\n",name);return 0;
}
执行上面代码就可以在test_main文件中打印出test_extern文件中的字段和方法。这样写有一个好处就是可以不用再文件中因为别的 .h头文件,因为如果引用.h头文件就可以调用.h文件中所有的函数和字段,这样不是很安全,所以如果想代用另外一个.c源文件的函数时可以使用extern关键字来调用这样提高 了函数的安全性。
总结:extern 有三种用三,在本文件中使变量全局化,调用其他源文件中的字段,调用其他源文件中的函数。
转载于:https://blog.51cto.com/14058389/2339141
c语言extern关键字详解相关推荐
- c语言关键字extern作用,c语言extern关键字详解
标签: 在c语言中代码的执行顺序是从上往下执行的,如果定义的函数或者变量在调用之后,那么调用的时候编译就会找不到需要使用的变量.这样就会出现错误,如下代码: #include int main(){ ...
- c语言关键字extern作用,C语言中extern关键字详解
<C语言中extern关键字详解>由会员分享,可在线阅读,更多相关<C语言中extern关键字详解(5页珍藏版)>请在人人文库网上搜索. 1.C 语言中 extern 关键字详 ...
- C语言const关键字详解
C语言的const关键字 const 在实际编程中用得并不多,const 是 constant 的缩写,意思是"恒定不变的"!它是定义只读变量的关键字,或者说 const 是定义常 ...
- C/C++中extern关键字详解
1 基本解释 :extern可以置于变量或者函数 前,以标示变量或者函数的定义在别的文件中 ,提示编译器遇到此变量和函数时在其他模块中寻找其定义 .此外extern也可用来进行链接指定. 也就是说ex ...
- C/C++中extern关键字详解与应用
1.引言:多文件结构中,对全局变量(global variance)的体会 全局变量的好处是毋庸置疑的.方便在各个子模块和局部域中使用.所以,全局变量很适合做众多模块之间的公共交流与通信. 在单文件结 ...
- C/C++中extern关键字详解[zz]
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.此外extern也可用来进行链接指定. 也就是说extern ...
- C语言的关键字 详解
一.C语言的关键字 C语言中的32个关键字及其意思如下: 由 ANSI 标准定义的C 语言关键字共32 个.根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类. 1.数据类型关键字 ...
- C语言保留字(关键字)详解
保留字(reserved word) 保留字又称关键字. 指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用. 每种程序设计语言都规定了自己的一套保留字. 例如:BASIC语言规 ...
- 【老九学堂】【初识C语言】C语言保留字(关键字)详解
保留字(reserved word) 保留字又称关键字. 指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用. 每种程序设计语言都规定了自己的一套保留字. 例如:BASIC语言规 ...
最新文章
- New beginning
- Direct3D提高篇:HLSL编程实现PhotoShop滤镜效果(1)
- 使用基于Roslyn的编译时AOP框架来解决.NET项目的代码复用问题
- 腾讯视频app下载2019_腾讯视频主设备如何设置
- 0基础入门前端,会遇到哪些困难?
- MySql(13)—— MySQL查询行锁、解锁
- 变位齿轮重合度计算公式_渐开线圆柱齿轮传动的重合度计算.pdf
- [Java] 蓝桥杯ALGO-78 算法训练 确定元音字母位置
- asp.net三层架构制作新闻管理_为什么使用PHP制作网站?
- Exponent CMS 2.3.9 配置文件写入 Getshell分析
- python基本数据类型
- bch码原理基于matlab,BCH码编译码matlab仿真
- 数字化生产车间可视化管理——电子看板
- 做平台玩手机创造内容,微软小冰的花式包抄
- 联发科:心态决定未来走势
- NYOJ-20 吝啬的国度【深搜】
- EMC设计理论通俗非科班学习笔记(完结)
- 初中计算机表格处理教案,初中信息技术Excel教案设计
- HTML5+CSS3小实例:简单又好看的加载动画效果
- CentOS文件备份|还原