extern声明变量赋值

Posted LC编程开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了extern声明变量赋值相关的知识,希望对你有一定的参考价值。

C语言提供了extern关键字来修饰变量和函数,extern关键字只是用于“声明”变量,并不是定义变量。例如在test.c源文件中定义了全局变量:

int value = 8;

       此时,定义了变量value,并且初始化了数值8。那么,在其他源文件中使用extern关键字声明变量value的时候,声明格式如下:

extern int value;

       此时,只是声明变量value是int类型,并不需要给变量初始化赋值。

       如果写成:

extern int value = 1;

       那么,在ubuntu系统中使用gcc编译,就会提示value变量重复定义。

       注意:如果是在XP环境下使用vc6.0编译,可以编译成功并运行,变量value的初始值还是8,并没有被修改设置为1数值。

程序测试代码如下:

(1) 在test.c源文件中定义变量

//定义全局变量

int value = 8;

(2) 在test1.c源文件中声明使用变量

       程序运行结果如下:

       可以看到,编译错误,提示重复定义value变量。

       在XP系统下,使用VC 6.0的编译系统,可以编译成功并运行。输出变量value的初始

值是8,并不是1。所以,可以看到,使用extern关键字对变量进行声明的时候,不用对其进行初始化赋值。因为,使用extern关键字只是声明变量,不是定义变量。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

以上是关于extern声明变量赋值的主要内容,如果未能解决你的问题,请参考以下文章

extern & const

变量声明和赋值

如何声明变量以及给变量赋值(赋值运算符=)

javascript中函数声明变量声明以及变量赋值之间的关系与影响

idea如何提取变量(拆分变量赋值和声明)

如何声明变量,如何给变量赋值