0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-03-16 16:35 次阅读

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用法和对全局变量的修饰基本相同,需要注意的就是,需要指明返回值的类型和参数
审核编辑:汤梓红

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

    关注

    2260

    文章

    10833

    浏览量

    353009
  • 参数
    +关注

    关注

    11

    文章

    1690

    浏览量

    31930
  • 函数
    +关注

    关注

    3

    文章

    4245

    浏览量

    62058
收藏 人收藏

    评论

    相关推荐

    使用边缘AI和Sitara处理器进行关键字检测

    电子发烧友网站提供《使用边缘AI和Sitara处理器进行关键字检测.pdf》资料免费下载
    发表于 09-02 11:30 0次下载
    使用边缘AI和Sitara处理器进行<b class='flag-5'>关键字</b>检测

    快速掌握C语言关键字

    C语言中的32个关键字你知道多少个呢?根据关键字的作用分为四类:数据类型关键字、控制语句关键字、存储类型关键字和其它
    的头像 发表于 07-06 08:04 210次阅读
    快速掌握C语言<b class='flag-5'>关键字</b>

    浅谈锡膏的储存及使用方法

    锡膏(焊锡膏)是电子组装过程中常用的材料,它的储存和使用方法对保证焊接质量和性能至关重要。以下是详细的储存及使用方法
    的头像 发表于 06-27 10:02 517次阅读

    关键字搜索文件夹某个TXT文件

    文件夹随时创造TXT文件,如何及时选出刚创造的文件?或关键字搜索出需要的TXT文件?
    发表于 02-06 15:22

    在NVM和本地\"内存定义数组(静态 /global /local)的\"关键字是什么?

    在 NVM 和本地\"内存定义数组(静态 /global /local)的\"关键字是什么? 还有与 32 位对齐的关键字怎么样。
    发表于 01-25 07:52

    探讨多线程编程的volatile关键字应用

    有时候,我们可能需要在指针类型之间进行转换,而编译器会认为这是不安全的操作,从而导致编译错误。使用volatile关键字可以告知编译器,这个类型转换是有意义的,不应该引发错误。
    发表于 12-27 13:53 365次阅读

    vlookup提取关键字匹配多个结果

    VLOOKUP是一个流行且功能强大的Excel函数,允许用户在一列数据搜索特定值,并从另一列检索相应的信息。VLOOKUP通常用于数据分析,尤其是在处理大型数据集时。VLOOKUP的一个关键特征
    的头像 发表于 12-01 10:40 2084次阅读

    this可以出现在类方法

    是的, this 关键字可以出现在类方法。在Java, this 是一个引用,用于引用当前对象的实例。它可以在类的实例方法中使用,以访问
    的头像 发表于 11-28 16:24 1153次阅读

    static关键字的三种用法

    在C语言中,关键字"static"可以用于不同的上下文,具有不同的作用。以下是"static"在C语言中的主要作用:1.静态
    的头像 发表于 11-10 08:00 433次阅读
    static<b class='flag-5'>关键字</b>的三种用法

    IAR能否在整个工程搜索关键字

    像mdk可以在整个工程搜索关键字 IAR应该也有类似的功能吧,但是我貌似没有找到
    发表于 11-08 07:21

    指向code区数组的指针需不需要加code关键字的声明?

    指向code区数组的指针需不需要加code 关键字的声明?
    发表于 11-02 06:16

    在嵌入式定义变量时volatile关键字的作用是什么?

    在嵌入式定义变量时volatile关键字的作用?
    发表于 10-24 07:50

    linux系统中常见注册函数的使用方法

    大家好,今天给大家分享一下,linux系统中常见的注册函数register_chrdev_region()、register_chrdev()、 alloc_chrdev_region()的使用方法
    发表于 10-19 09:28 440次阅读
    linux系统<b class='flag-5'>中常</b>见注册函数的<b class='flag-5'>使用方法</b>

    程序变量加volatile关键字是做什么用途的?

    为什么变量定义要加上这个关键字
    发表于 10-13 07:15

    this关键字在Java的用法

    this 关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。 其实简单来说 this 关键字就是表示当前对象,下面我们来具体介绍 this
    的头像 发表于 10-10 16:49 472次阅读
    this<b class='flag-5'>关键字</b>在Java<b class='flag-5'>中</b>的用法