stm32中常用关键字的使用方法

描述

extern,可以在一个文件中引用另一个文件中定义的变量或者函数,下面就结合具体的实例。

首先,引用同一个文件的变量,先写一个简单的函数。

#include
int func();
int main()
{
func(); //1
printf("%d",num); //2
return 0;
}
int num = 3;
int func()
{
printf("%d\n",num);
}

这里一共定义了两个函数,一个主函数一个子函数,子函数里直接打印的num的数据,要打印数据首先要找到定义的数据,这里定义的num是全局变量所以可以直接打印数据。

如果我们用extern进行定义数据时需要采用全局变量定义,在其他地方使用,比如我们在主函数定义了一个extern变量我们在其他地方使用时需要线对变量进行赋值操作,否则找不到相关的num。

#include
int func();
int main()
{
func(); //1
extern int num;
printf("%d",num); //2
return 0;
}
int num = 3;
int func()
{
printf("%d\n",num);
}

下面再说extern与const使用问题 。

如果我们要使用一个全局变量而且是不能改变的,那我们需要用const配合使用,代码如下:

#include
int main()
{
extern const int num;
printf("%d",num);
return 0;
}

子函数

#include
const int num=5;
void func()
{
printf("fun in a.c");
}

这里我们在主函数定义了一个extern const变量,需要在子函数的全局变量中定义const int num=5;这样就可以使用。

extern除了引用另一个文件中的变量外,还可以引用另一个文件中的函数,引用方法和引用变量相似。

mian.c

#include
int main()
{
extern void func();
func();
return 0;
}
common.c
#include
const int num=5;
void func()
{
printf("fun in a.c");
}

      这里main函数中引用了b.c中的函数func。因为所有的函数都是全局的,所以对函数的extern用法和对全局变量的修饰基本相同,需要注意的就是,需要指明返回值的类型和参数。
审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分