当前位置:首页 » 编程语言 » c语言extern作用

c语言extern作用

发布时间: 2023-05-15 10:10:52

❶ 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的作用是什么

告诉编译器这个变圆磨量或者函差腔亏数的定义不在当前的代码中,等到连接虚神时从别的地方找,如果找到了就可以正常编译,如果找不到就编译失败。

❸ C语言中变量存储static和extern两个关键字的作用分别是什么

在C语言中,static可以用来修饰局部变量,全局变量以及函数。在不同的情况下static的作用不尽相同。

(1)修饰局部变量

一般情况下,对于局部变量是存放在栈区的,并且局部变量的生命周期在该语句块执行结束时便结束了。但是如果用static进行修饰的话,该变量便存放在静态数据区,其生命周期一直持续到整个程序执行结束。但是在这里要注意的是,虽然用static对局部变量进行修饰过后,其生命周期以及存储空间发生了变化,但是其作用域并没有改变,其仍然是一个局部变量,作用域仅限于该语句块。

在用static修饰局部变量后,该变量只在初次运行时进行初始化工作,且只进行一次。

如:

程序执行结果为: 2

3

说明在第二次调用fun()函数时,a的值为2,并且没有进行初始化赋值,直接进行自增运算,所以得到的结果为3.

对于静态局部变量如果没有进行初始化的话,对于整形变量系统会自动对其赋值为0,对于字符数组,会自动赋值为''.

(2)修饰全局变量

对于一个全局变量,它既可以在本源文件中被访问到,也可以在同一个工程的其它源文件中被访问(只需用extern进行声明即可)。

如:

有file1.c

int a=1;

file2.c

#include<stdio.h>

extern int a;

int main(void)

{

printf("%d",a);

return 0;

}

则执行结果为 1

但是如果在file1.c中把int a=1改为static int a=1;

那么在file2.c是无法访问到变量a的。原因在于用static对全局变量进行修饰改变了其作用域的范围,由原来的整个工程可见变为本源文件可见。

(3)修饰函数

用static修饰函数的话,情况与修饰全局变量大同小异,就是改变了函数的作用域。

extern关键字

在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。
在上面的例子中可以看出,在file2中如果想调用file1中的变量a,只须用extern进行声明即可调用a,这就是extern的作用。在这里要注意extern声明的位置对其作用域也有关系,如果是在main函数中进行声明的,则只能在main函数中调用,在其它函数中不能调用。其实要调用其它文件中的函数和变量,只需把该文件用#include包含进来即可,为啥要用extern?因为用extern会加速程序的编译过程,这样能节省时间。

❹ c语言extern的用法

extern一般用于跨文件的全局变量上。
如果只是想在函数内部给a赋值,完全不需要用到extern。传递引用就可以了。
例如
main()
{
int
a;
num(a);
printf("%d",
a);
}
int
num(int
&b)
{
b
=
3;
}
或者传递指针,或者使用返回值

❺ c语言中的extern怎么用

extern在c中就是个外部申明,因为C是先申明再使用,当你想调用的变量或者函数不在你的模块当中,你可以使用外部申明。在使用外部申明的时候要特别注意,因为这只是个申明,并不是实体,当出现声明和实体不符的时候,编译器是不会管的,链接后就可能出现错误。比如你的实体是 int sample( int x ) ;而你在申明的时候是extern int sample( void ) ; 所以我不喜欢这种方式去声明。特别是多个人合作项目的时候,这种方法往往导致的结果很难去debug。即使是别人写好提供给你的,那他在修改了函数或者变量的类型,参数,往往会忘记修改给你的申明。
extern 还有个作用就是当你C和C++混用的时候,比如在C++中要使用C, 那么就要告诉编译器,你这段代码使用的是C,需要用C的编译器去编译,那可以使用extern "C" { .........} 否则编译会有问题

❻ c语言extern关键字的作用

extern,"外部"的意思饥山裤,可以引入外部函数,外部变量。也可以借此引用汇编唯茄程序烂简。

❼ C语言中extern的意思是什么

extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。

extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:

文档A.cpp调用a.c里面的变量i和函数callme()

添加了extern “C”链接指示后,上面的代码就能够正常运行了。

热点内容
数据库的基本概念 发布:2025-07-17 20:42:02 浏览:767
51单片机c语言pdf 发布:2025-07-17 20:41:51 浏览:879
智教云脚本 发布:2025-07-17 20:24:21 浏览:259
a58主板怎么配置最完美 发布:2025-07-17 20:23:08 浏览:390
脚本文件怎么打开 发布:2025-07-17 20:20:39 浏览:142
安卓手机如何导出酷狗音乐 发布:2025-07-17 20:01:27 浏览:60
日语怎么访问 发布:2025-07-17 20:01:24 浏览:923
java清除缓存数据 发布:2025-07-17 20:00:49 浏览:487
5s怎么把相册设置密码 发布:2025-07-17 19:55:18 浏览:261
vivo电话号码存储位置 发布:2025-07-17 19:55:18 浏览:563