extern声明&定义

extern声明&定义

extern

  • extern 声明不是定义,也不分配存储空间。
  • 事实上,它只是说明变量定义在程序的其他地方

声明&定义

  • 变量的定义:用于为变量分配存储空间,还可以为变量指定初始值。

  • 变量的声明:用于向程序表明变量的类型和名字。

  • 程序中变量可以声明多次,但只能定义一次。

  • 定义也是声明,当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。

extern int i; //声明一个变量i,但是并没有定义
int i; //声明并且定义了一个变量i
  • 只有当声明也是定义时,声明才可以有初始化式,因为只有定义才分配存储空间。
  • 初始化式必须要有存储空间来进行初始化。
  • 如果声明有初始化式,那么它可被当作是定义,即使声明标记为extern。
extern int i = 0; // 有初始化式,即使有extern,其也既是声明又是定义
int i; //报错,重复的定义 // 已初始化的extern声明被当作是定义,所以该变量任何随后的定义都是错误的
/****************************/
extern int i = 0; // 声明+定义
extern int i; // 只声明,正确
extern int i = 0; // 重复定义,错误

参考链接

(1条消息) C++中extern使用_AplusX的博客-CSDN博客_extern在c++中是什么意思

(1条消息) extern “C“的作用及理解_米碎师兄的博客-CSDN博客_extern “c”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值