C 语言的一些基础知识

背景

在开发过程中,我们经常遇到一些简单的问题,主要原因是C语言基础不扎实,所以这里记录一下遇到的相关问题。

 

extern 关键字的用法

https://www.cnblogs.com/TurboLemon/p/6365964.html

 

博客中的关键点:

1. 定义和声明是不一样的。

2.函数可以不使用extern 修饰。

3.主要是变量,要特别注意使用extern 时,声明和定义是容易错的,具体看下面的解释。

extern int a;//声明一个全局变量a
int a; //定义一个全局变量a

extern int a =0 ;//定义一个全局变量a 并给初值。
int a =0;//定义一个全局变量a,并给初值,

第四个 等于 第 三个,都是定义一个可以被外部使用的全局变量,并给初值。
糊涂了吧,他们看上去可真像。但是定义只能出现在一处。也就是说,不管是int a;还是extern int a=0;还是int a=0;都只能出现一次,而那个extern int a可以出现很多次。

当你要引用一个全局变量的时候,你就要声明,extern int a;这时候extern不能省略,因为省略了,就变成int a;这是一个定义,不是声明。

 

还有extern 是用于不同文件之间变量的共享

头文件中只能是声明,不能有定义,否则当头文件被多个文件包含时,会出现重定义。

posted @ 2023-11-15 11:22  皓然123  阅读(7)  评论(0编辑  收藏  举报