c语言extern int的作用,c语言之extern
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相关推荐
- c语言的应用与作用,C语言主要应用在什么地方?
C语言是一种计算机程序设计语言.它既有高级语言的特点,又具有汇编语言的特点.它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围 ...
- c语言的int型运算符,C语言运算符
本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! C语言运算符是说明特定操作的符号[1] ,它是构造C语言表达式的工具[2] .C语言的运算异常丰富,除了控制语句和输入输出以外 ...
- c语言eof不起作用,c语言程序设计 怎么以输入EOF结束
EOF(EndOfFile)是C语言中的文件结束标志符.当C语言输入函数获取到文件结尾标志时,会通过返回值的方式体现该值.所以要以输入EOF为结束,就需要判断输入函数的返回值.EOF定义在stdio. ...
- c语言链表head的作用,c语言链表的用法
c语言链表的用法 链表是数据结构中比较基础也是比较重要的类型之一,那么有了数组,为什么我们还需要链表呢!或者说设计链表这种数据结构的初衷在哪里?下面小编就为大家介绍下c语言链表的用法. c语言枚举的用 ...
- c语言程序头文件作用,C语言头文件
C语言头文件教程 C 语言的头文件一般都是 .h 做为结尾的. C语言头文件详解 语法 #include 参数 参数 描述 filename 我们需要引入的头文件的名称. 说明 C 语言的头文件一般都 ...
- c语言(cn)括号的作用,c语言小括号的用法
c语言小括号的用法 C语言的小括号里面表示一条语句,返回值是多条语句中最靠右的语句的返回值,比如(a=2,b=3,c=a+b),返回值就是c的值.下面小编就为大家介绍c语言小括号的用法. c语言小括号 ...
- c语言对编程对作用,c语言编程心得体会
c语言编程心得体会 c语言是在国内外广泛使用的一种计算机语言.以下是小编整理的c语言编程心得体会,欢迎大家阅读! c语言编程心得体会1 说到我学习c语言时,真是用千言万语呀!记得刚开始学的时候,我的c ...
- c语言位与运算的作用,c语言位运算符的用法
c语言位运算符的用法 C语言中位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果.下面小编就为大家介绍下c语言位运算符的用法. ...
- c语言文件有什么作用,C语言文件的使用方法
C语言文件的使用方法 C语言文件的使用方法:所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件 ...
- C语言结构标记的作用,C语言基础知识之词法符号
任何高级语言都有自定义的词法符号和支持的数据类型. 词法符号是语言的基本组成单位,数据类型是数据的基本属性.这里我将先对C语言的C法符号做一个小的总结,既是对我自己C语言的一个系统的整理与提高,也希望 ...
最新文章
- 一道有关球赛队员分配的C++程序题目
- RMAN简明教程之五——RMAN还原和恢复
- TCPDUMP/LIBPCAP 2-搭建环境
- 【赛事】京东百万巨奖寻多传感器融合定位算法英雄
- Pythonipython安装注意事项
- 大数据_MapperReduce_与hive的集成_使用hive数据分析工具_关联操作hbase---Hbase工作笔记0025
- 【从零开始自制CPU之学习篇00】开篇
- samba (centos6.5)服务
- 戴尔:未来就绪的IT
- macbook python安装_mac下安装Python3.*(最新版本)
- phpmyadmin-错误:配置文件权限错误,不应任何用户都能修改!这里有答案
- 拓端tecdat|R语言用局部加权回归(Lowess)对logistic逻辑回归诊断和残差分析
- 一次U盘文件变乱码的恢复
- Cocos2d-x面试题
- c# .net对接企业微信小助手 接口请求时长预警
- firefox火狐浏览器flash播放视频
- 51、PIC、AVR、16、32-BIT系列单片机区别与特点
- java窗口聊天_java聊天窗口的实现
- C++基础入门知识:C++命名空间(名字空间)详解
- Dicom Image Viewer for iPad