c语言extern变量
㈠ extern在c语言中是什么意思
extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。
extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:
文档A.cpp调用a.c里面的变量i和函数callme()
(1)c语言extern变量扩展阅读
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
㈡ 嵌入式—C语言—全局变量和extern的用法
全局变量区分静态全局变量和全局变量两种。
1 静态全局变量。
有static修饰的变量为静态全局变量。需要定义在函数外,可以在定义位置到本文件结束部分使用。定义格式为
static type var=init_value;
作用为定义一个类型为type,变量名为var的静态全局变量,并赋初始化值为init_value。当=init_value部分被省略时,系统自动初始化为0值。
可以用extern扩展可使用空间,声明格式为
extern type var;
注意不可以有初始化值。
extern声明只允许出现在本文件内,声明后,可以在声明语句到文件尾使用该变量。
2 全局变量。
没有static修饰的变量为全局变量。需要定义在函数外,可以在定义位置到本文件结束部分直接使用。定义格式为
type var=init_value;
作用为定义一个类型为type,变量名为var的全局变量,并赋初始化值为init_value。当=init_value部分被省略时,系统自动初始化为0值。
要在文件其它位置或其它文件中使用时,需要用extern进行声明,声明格式为
extern type var;
注意不可以有初始化值。
声明后,可以在声明语句到声明语句所在文件尾使用该变量。也可以写在头文件中,这样在引用该头文件的C文件中,可以在引用位置到文件结尾使用该变量。
㈢ C语言中extern的意思是什么
extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。
extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:
文档A.cpp调用a.c里面的变量i和函数callme()
添加了extern “C”链接指示后,上面的代码就能够正常运行了。
㈣ C语言 函数声明前extern的用法
个人看法,仅供参考。
(1)别的就是指“这一个”以外的;C盘定义,D盘调用,原则上可以,但是麻烦,写程序应该越简单越好,不提倡这样做;“别的”原则上没有限定几层,但是最好放在同一个文件夹,原因也说了,分开放麻烦。
(2)作用相同,不完全等价。区别在哪呢?include “*.h”
int f();把“*.h”里的所有东西都搬过来(除了f()之外可能还有其他的),那么肯定包含有f();而extern int f();表示你明确知道你要调用的是“*.h”里的f()这个函数,其它你都不需要。
“这么说,如果所有外部函数声明时都加上extern就不需要include “*.h”头文件了?”是的,但是你想想,如果你所有外部函数都要用到的话,你自己手动给所有函数加上extern还是直接一个include “*.h”哪个更方便呢
㈤ c语言中的extern是什么,有什么作用啊
extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。
extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:
文档A.cpp调用a.c里面的变量i和函数callme()
添加了extern “C”链接指示后,上面的代码就能够正常运行了。
㈥ c语言extern
extern是全局变量声明
只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)
若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下
例如 #include "my_Fun.c"
extern int b;//b是在my_Fun.c中声明了的一个全局变量
这个extern 是个声明他可以在任何地方声明 引用了一个全局变量 (可以试试 在main()函数执行完之后声明 也不会出错)
这样在 工程的总头文件中就不需要考虑 先#include 哪个文件了
㈦ 《c语言》中“extern”怎么用
extern是外部声明用的,用来声明外部的函数或者变量定义。
例如,你在1.C中定义了一个函数和变量:
void fun1(void);
int a = 0;
而你要在2.c中调用 fun1(),并且读取a的值,
那么需要再2.c的头部如下外部声明:
extern void fun1(void);
extern int a = 0;
这样的话在编译器在编译2.c时,不会报错误,而在链接时找fun1、a,以实现对外部函数、变量的访问。
㈧ C语言中全局变量说明符extern该如何使用
在C语言中,extern是全局变量声明的关键字
只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下,如
在file1.c中定义的全局变量,file2.c中想要使用该变量,即使include了头文件,但是如果没有extern关键字来声明的话,在file2.c中是无法访问到的。