keil编程中extern 关键字的用法和注意事项!

本文解释了C和C++编程中的extern关键字如何用于声明外部变量和函数,强调了在头文件中仅声明而不指定数组大小的原因,以及如何在头文件和源文件之间正确管理变量定义以避免编译问题。
摘要由CSDN通过智能技术生成

"extern" 是一个 C 和 C++ 编程中的关键字,用于声明外部变量或函数。它告诉编译器,被声明的变量或函数是在其他文件中定义的,而不是当前文件中。

例如,在源文件中进行定义和初始化:
char Serial_RxPacket[100];
uint8_t Serial_RxFlag;
(这两个变量是在当前文件中定义的,因此不需要使用 extern 关键字进行声明)

在头文件中进行声明:
extern char Serial_RxPacket[];
extern uint8_t Serial_RxFlag;

注:在声明的时候不写数组的大小“100”是因为该声明位于头文件中,通常情况下,头文件用于声明变量和函数的接口,以便其他源文件可以引用它们。由于头文件通常会被多个源文件包含,如果在头文件中指定数组大小,那么这个大小会被多次重复定义,可能会导致编译错误或者产生意外的行为。

因此,通常的做法是在头文件中使用 extern 关键字声明数组,而在实际定义数组的源文件中指定数组的大小。这样做可以避免重复定义的问题,并且使得程序的结构更加清晰。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值