OoopsG 2021-01-31 17:01 采纳率: 100%
浏览 47
已采纳

如果一个变量仅用extern声明会怎么样

各位大佬,关于extern 有个问题一直搞不明白。

看到书上关于用extern写到,把变量的定义声明放在所有函数的外面便创建了外部变量。如果当前代码文件使用的外部变量定义在另一个源代码文件中,必须用extern声明该变量,表示引用。例如

/*文件1*/

char example;

/*文件2*/

extern char example;

又特别注明,不要用extern创建变量的外部定义,因为编译器会假定该变量实际的定义在该程序的别处。

那么,如果一个外部变量仅用extern 声明会怎么样?例如

/*文件1*/

extern int a;

/*文件2,已include 文件1*/

a = 100;  

这样使用没有问题吗?变量a是在什么时候定义的呢?什么时候分配空间的?

非常感谢。

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来