您现在的位置是:首页 > 电脑 > 

c语言extern(c语言中文网)

2025-07-18 05:00:35
C编译器编译后的函数,为什么要加extern“C”? 若要混用C和C的代码,则所有在C中调用的C代码,必须放在externC{/*C代码*/}内 c语言中extern的意思是什么??库函数为什么不需要exter 这个extern 是个声明他可以在任何地方声

C编译器编译后的函数,为什么要加extern“C”?

若要混用C和C的代码,则所有在C中调用的C代码,必须放在externC{/*C代码*/}内

c语言中extern的意思是什么??库函数为什么不需要exter

这个extern 是个声明他可以在任何地方声明 引用了一个全局变量 (可以试试 在main()函数执行完之后声明 也不会出错)

c语言中的extern是什么,有什么作用啊?

extern表示是外部函数或外部变量,比如:

1、extern void add(int x,inty);表示该函数主体不在当前模块中,在另一个模块中(文件)

2、extern int total;表示该变量在另一个模块总定义过。

一般都把一些经常用到的枚举和变量之类的写在.h头文件中。这样要引用时直接include 头文件名就可以了调用里面所有的枚举和变量了。在大型项目中,引用别的.c文件中的函数则只能用extern,因为.c文件是不能 include的。所以想引用别的.c文件中的函数和全局变量、枚举等等的就只能用extern。extern是全局变量声明

只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)

若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下

例如 #include my_

extern int b;//b是在my_中声明了的一个全局变量

这个extern 是个声明他可以在任何地方声明 引用了一个全局变量 (可以试试 在main()函数执行完之后声明 也不会出错)

这样在 工程的总头文件中就不需要考虑 先#include 哪个文件了extern 是变量或函数的申明,告诉编译器在其它文件中这个变量或函数的定义。说明要引用的变量是外部变量,函数是外部函数,就是非本文件中定义的。extern int a;

int main(){

printf(%d\n, a);

int a = 12;上面代码是能正确运行的,a的定义就在该文件中。

extern表示一个函数或变量的声明,并且标识这是一个external链接。external链接表示该函数或变量的是非static的,并不是表示它的定义在别的模块(文件)中......

声明一个函数时,extern可以省略,标准库文件中,函数的声明都是不带extern的。声明变量时不能省略,不然就成了一个未初始化的变量定义。

c11 extern关键词文档:网页链接

C语言中extern用法

#include 12.h/*12.h中放你的其他函数*/

extern int func();/*这句跟用int func();一样,extern只起到标识作用,好让我们知道是外部函数而已*/

main()

你肯定是没加#include 12.h吧,要是没有它,你的程序也不知道去哪func()啊,不能光用extern这个不是让你用extern是链接的时候没到print_string的定义那个函数定义的时候就要加EXTER的

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/diannao/542242.html

相关标签:无
上传时间: 2023-06-28 06:15:18
留言与评论(共有 11 条评论)
本站网友 局域网网速管理软件
29分钟前 发表
inty);表示该函数主体不在当前模块中,在另一个模块中(文件) 2
本站网友 南昌绿地中央广场
28分钟前 发表
inty);表示该函数主体不在当前模块中,在另一个模块中(文件) 2
本站网友 男人味道
24分钟前 发表
所以想引用别的.c文件中的函数和全局变量
本站网友 剑道
12分钟前 发表
所以想引用别的.c文件中的函数和全局变量
本站网友 黄瓜的用处
11分钟前 发表
extern只起到标识作用,好让我们知道是外部函数而已*/ main() 你肯定是没加#include 12.h吧,要是没有它,你的程序也不知道去哪func()啊,不能光用extern这个不是让你用extern是链接的时候没到print_string的定义那个函数定义的时候就要加EXTER的
本站网友 配置管理器
4分钟前 发表
extern void add(int x
本站网友 1澳元等于多少人民币
28分钟前 发表
extern是全局变量声明 只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上) 若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下 例如 #include my_ extern int b;//b是在my_中声明了的一个全局变量 这个extern 是个声明他可以在任何地方声明 引用了一个全局变量 (可以试试 在main()函数执行完之后声明 也不会出错) 这样在 工程的总头文件中就不需要考虑 先#include 哪个文件了extern 是变量或函数的申明,告诉编译器在其它文件中这个变量或函数的定义
本站网友 钻采设备
0秒前 发表
标准库文件中,函数的声明都是不带extern的
本站网友 电热水壶
9分钟前 发表
 a); int a = 12;上面代码是能正确运行的,a的定义就在该文件中
本站网友 欧盟峰会
3分钟前 发表
external链接表示该函数或变量的是非static的,并不是表示它的定义在别的模块(文件)中...... 声明一个函数时,extern可以省略