extern关键字以及加了头文件引用的作用

0.前言

        xdm,今天是阳了的第一天,昨天是高烧,浑身酸痛,今天好多了。。。祝大家健康。

        推荐一首歌《不是因为寂寞才想你》。看了《阿凡达2》,感觉没第一部好看哎。


1.extern

        之前写过一篇博客extern关键字。今天讲一下和头文件的关系。

         创建四个文件。

        情形一:

main.h:

#ifndef __MAIN_H
#define __MAIN_H

#include 
#include 
#include 

#endif

main.c

#include "main.h"
#include "extern.h"

extern int fromE;

void main(void)
{
    printf("%d\n",fromE);
}
extern.h

#ifndef __EXTERN_H
#define __EXTERN_H

#include 
#include 
#include 

void funcExtern(void);
#endif

extern.c

#include "extern.h"
int fromE = 666888;

void funcExtern(void)
{
	printf("extern:%d\n",fromE);
}

        上面这情形是我们经常用到的,我们编译

gcc main.c extern.c

        没有问题。看看看情形二。

        情形二:假设有这个需求,你不想使用extern关键字在引用文件里,我还是想通过头文件的形式,那我应该怎么做?简单,假设变量fromE还是在extern.c中声明定义,那我不想在main.c中使用extern,所以只能在extern.h中进行声明。如下:

extern.h

#ifndef __EXTERN_H
#define __EXTERN_H

#include 
#include 
#include 

extern int fromE ;

void funcExtern(void);
#endif

        这样就不用在main.c中使用extern了。


2.总结

        2022就要过去了,接下来两年是机会之年。。。先学会沉淀。

你可能感兴趣的:(C语言,嵌入式,linux,c++,开发语言)