栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

关于extern关键字

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于extern关键字

https://www.jianshu.com/p/111dcd1c0201

https://www.cnblogs.com/tshua/p/5741009.html

以下内容参考上述文章,如有侵权请告知删除,非常感谢以上作者

在一个文件中定义了变量和函数,若在其他文件中使用,可以有两种方式:

1、使用头文件,然后声明变量或函数,然后在其他文件中包含此头文件

2、直接在其他文件中extern

extern会涉及到声明问题,最好不要在头文件中定义什么,可能会引起重定义

比如:

#ifndef UNTITLED_FILE_H
#define UNTITLED_FILE_H

int y = 7;

#endif //UNTITLED_FILE_H

会出现错误:CMakeFiles/untitled.dir/file.cpp.o:(.data+0x0): `y'被多次定义
因为多个文件包含此头文件,导致重定义

重点:

在定义变量的时候,extern可以被省略(定义时,默认均省略);在声明变量的时候,这个extern必须添加在变量前,所以有时会让你搞不清楚到底是声明还是定义。或者说,变量前有extern不一定就是声明,而变量前无extern就只能是定义。注:定义要为变量分配内存空间;而声明不需要为变量分配内存空间。

以上内容仅为简略叙述,详细请参考:https://www.cnblogs.com/tshua/p/5741009.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/717077.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号