fkjj.net
当前位置:首页 >> ExtErn >>

ExtErn

extern是全局变量声明 只要声明全局变量就默认前面加extern(程序员可以不加,但编译器默认加上) 若本文件引用别的文件中的全局变量一定要加上extern声明一下 例如#include"my_fun.c" externintb;//b是在my_fun.c中声明了的一个全局变量 这个extern是个声明他可以在任何地方声明引用了一个全局变量(可以试试在main()函数执行完之后声明也不会出错) 这样在工程的总头文件中就不需要考虑先#include哪个文件了

extern表示是外部函数或外部变量,比如:1、extern void add(int x,inty);表示该函数主体不在当前模块中,在另一个模块中(文件)2、extern int total;表示该变量在另一个模块总定义过.一般都把一些经常用到的枚举和变量之类的写在.h头文件中.这样要引用时直接include "头文件名"就可以了调用里面所有的枚举和变量了.在大型项目中,引用别的.c文件中的函数则只能用extern,因为.c文件是不能 include的.所以想引用别的.c文件中的函数和全局变量、枚举等等的就只能用extern.

外部连接符号通常是在定义接口的时候这样使用的这样的一个声明写在头文件内,供其他文件包含. 这时候extern表示函数的实现部份不在文件内部,在连接的时候统一由连接器处理.编译器通常会假定编译时候找不到实现部份的函数为extern形式.当然,加了extern也可以在该文件内写实现

extern是外部变量,当几个文件include到一起编译时就要用这个申明来共用变量

在头文件中声明函数时,前面的extern可有可无,只要这些函数曾在某个.c文件中实现就行了,不过一些函数没有在所包含的头文件中给出声明,同时函数的定义位于其它文件中,这时候使用该函数的.c文件必须用extern标记该函数为外部函数.

extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. 另外,extern也可用来进行链接指定.extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个

extern 表示在其他文件定义,在此处声明就是说这个变量的地址早在其他文件就定下来了,extern int a;a=8;这样执行后,这个a的值我论在哪里看都已经变成8了.声明的概念就是,已经定义好的变量,这里了要用到,提示它的存在而已.

extern在c中就是个外部申明,因为C是先申明再使用,当你想调用的变量或者函数不在你的模块当中,你可以使用外部申明.在使用外部申明的时候要特别注意,因为这只是个申明,并不是实体,当出现声明和实体不符的时候,编译器是不会管

#include "123.h"/*123.h中放你的其他函数*/ extern int func();/*这句跟用int func();一样,extern只起到标识作用,好让我们知道是外部函数而已*/ main() { …… } 你肯定是没加#include "123.h"吧,要是没有它,你的程序也不知道去哪找func()啊,不能光用extern

网站首页 | 网站地图
All rights reserved Powered by www.fkjj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com