c语言有三种链接,外部链接,内部链接和无链接。

外部链接:对构成程序的所有文件可用,如函数和全局变量具有外部链接。

内部链接:仅在声明他们的文件中是已知的。如声明为static的文件域具有内部链接。

无连接:仅在自己的块中已知,其它地方没有办法访问,如局部变量。

extern主要作用是:声明在程序的其它地方使用外部链接声明的对象。

声明:表述对象的名称和类型。

定义:为对象分配存储空间。

例如:

int main(void)

{

extern int a, b;

printf("%d %d", a, b);

getch();

return 0;

}

/* 全局变量定义到了main之后 */

int a = 10, b = 20;

程序输出10 20。

通过extern声明变量a和b,可以在a和b定义之前使用,编译器不会提示错误。

extern最重要的用途是多文件程序,c允许程序分散在多个文件中,分别编译,链接到一起。

我们在devc++中新建立一个c工程,然后在添新建一个单元保存名称为cunclx3.c

main.c的程序代码:

#include

#include

int x,y;

int main(int argc, char *argv[])

{

x=100;

y=10;

printf("in main x is %d and y is %d\n",x,y);

fun();

getch();

system("PAUSE");

return 0;

}

cunclx3.c的程序代码是:

extern int x,y;

void fun(void)

{

x/=y;

y/=2;

printf("in fun x is %d and y is %d\n",x,y);

}

调试运行,没有问题程序正查输出,可以尝试将extern int x,y;代码加上注释,编译器将提示错误。

extern使编译器知道这些全局变量的名字和类型,同时不再分配内存,当链接程序链接各个文件的时候,

自动处理所有对外部变量的引用。

c语言extern int的作用,c语言之extern相关推荐

  1. c语言的应用与作用,C语言主要应用在什么地方?

    C语言是一种计算机程序设计语言.它既有高级语言的特点,又具有汇编语言的特点.它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围 ...

  2. c语言的int型运算符,C语言运算符

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! C语言运算符是说明特定操作的符号[1] ,它是构造C语言表达式的工具[2] .C语言的运算异常丰富,除了控制语句和输入输出以外 ...

  3. c语言eof不起作用,c语言程序设计 怎么以输入EOF结束

    EOF(EndOfFile)是C语言中的文件结束标志符.当C语言输入函数获取到文件结尾标志时,会通过返回值的方式体现该值.所以要以输入EOF为结束,就需要判断输入函数的返回值.EOF定义在stdio. ...

  4. c语言链表head的作用,c语言链表的用法

    c语言链表的用法 链表是数据结构中比较基础也是比较重要的类型之一,那么有了数组,为什么我们还需要链表呢!或者说设计链表这种数据结构的初衷在哪里?下面小编就为大家介绍下c语言链表的用法. c语言枚举的用 ...

  5. c语言程序头文件作用,C语言头文件

    C语言头文件教程 C 语言的头文件一般都是 .h 做为结尾的. C语言头文件详解 语法 #include 参数 参数 描述 filename 我们需要引入的头文件的名称. 说明 C 语言的头文件一般都 ...

  6. c语言(cn)括号的作用,c语言小括号的用法

    c语言小括号的用法 C语言的小括号里面表示一条语句,返回值是多条语句中最靠右的语句的返回值,比如(a=2,b=3,c=a+b),返回值就是c的值.下面小编就为大家介绍c语言小括号的用法. c语言小括号 ...

  7. c语言对编程对作用,c语言编程心得体会

    c语言编程心得体会 c语言是在国内外广泛使用的一种计算机语言.以下是小编整理的c语言编程心得体会,欢迎大家阅读! c语言编程心得体会1 说到我学习c语言时,真是用千言万语呀!记得刚开始学的时候,我的c ...

  8. c语言位与运算的作用,c语言位运算符的用法

    c语言位运算符的用法 C语言中位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果.下面小编就为大家介绍下c语言位运算符的用法. ...

  9. c语言文件有什么作用,C语言文件的使用方法

    C语言文件的使用方法 C语言文件的使用方法:所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件 ...

  10. C语言结构标记的作用,C语言基础知识之词法符号

    任何高级语言都有自定义的词法符号和支持的数据类型. 词法符号是语言的基本组成单位,数据类型是数据的基本属性.这里我将先对C语言的C法符号做一个小的总结,既是对我自己C语言的一个系统的整理与提高,也希望 ...

最新文章

  1. 一道有关球赛队员分配的C++程序题目
  2. RMAN简明教程之五——RMAN还原和恢复
  3. TCPDUMP/LIBPCAP 2-搭建环境
  4. 【赛事】京东百万巨奖寻多传感器融合定位算法英雄
  5. Pythonipython安装注意事项
  6. 大数据_MapperReduce_与hive的集成_使用hive数据分析工具_关联操作hbase---Hbase工作笔记0025
  7. 【从零开始自制CPU之学习篇00】开篇
  8. samba (centos6.5)服务
  9. 戴尔:未来就绪的IT
  10. macbook python安装_mac下安装Python3.*(最新版本)
  11. phpmyadmin-错误:配置文件权限错误,不应任何用户都能修改!这里有答案
  12. 拓端tecdat|R语言用局部加权回归(Lowess)对logistic逻辑回归诊断和残差分析
  13. 一次U盘文件变乱码的恢复
  14. Cocos2d-x面试题
  15. c# .net对接企业微信小助手 接口请求时长预警
  16. firefox火狐浏览器flash播放视频
  17. 51、PIC、AVR、16、32-BIT系列单片机区别与特点
  18. java窗口聊天_java聊天窗口的实现
  19. C++基础入门知识:C++命名空间(名字空间)详解
  20. Dicom Image Viewer for iPad

热门文章

  1. vue 使用 vue-awesome-swiper(swiper)解决方法
  2. SQLite3 数据库全文搜索 - SQL Server - 红黑联盟
  3. jQuery类似QQ空间时间轴效果_事件展示时光轴js特效代码
  4. 金融人必须掌握的词汇
  5. TF卡,Micro SD卡,Micro SDHC卡
  6. 奇虎360 php t5级别,奇虎360凭什么估值3800亿?核心价值只是他而已!
  7. Codeforces - F. Dominant Indices
  8. 2018笔试题——求一元一次方程的解
  9. 【新星计划】Matlab pid参数调节工具箱
  10. PaddleOCR之模型介绍与测试