c - 外部变量是如何定义的?

标签 c extern

<分区>

extern int i;// is a declaration
int j; //definition

作者给出了第一个语句是声明,第二个是定义。我认为第二个语句是声明,第一个是定义。

我浏览了 Herbert Schildt 的完整引用 C

最佳答案

extern int i

...是一个variable declaration ,因为它只告诉编译器“存在一个名为 i 的变量,但它是在其他地方定义的”。

int i

...是一个变量定义,因为它告诉编译器创建实际变量。

关于c - 外部变量是如何定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18820403/

相关文章:

c++ - extern的使用和防止重复定义

cocoa - 如何存储引用,然后使用 extern NSString const ?

c++ - C++ 如何区分对全局变量的调用和全局变量的声明?

c - 使用 fork() 以广度优先顺序打印序列

c++ - 在 VC++ 中引用静态库

c - 使用 AES 加密文件

C++ extern 未解析的符号错误 LNK2001

c - 在同一个函数中,通过间接访问访问不在范围内的局部变量是否是 UB?

c - 没有堆栈的 Linux 线程

c++ - 为什么链接器在头文件中给出全局变量错误