C 声明外部变量会复制它吗?

C 声明外部变量会复制它吗?,c,variables,C,Variables,假设我有: 文件1.c main.c 这是否会在main.c中创建变量数组的副本?否,它会告诉链接器“某个地方有一个具有此名称的变量,请在提到它时填写对它的引用”。为什么您认为它会创建副本?关于extern关键字,你研究了什么?声明某物只会告诉编译器“某物”存在于某个地方。我为这个愚蠢的问题道歉。我读到它创建了一个引用,但在我在一个源代码中声明了一个外部变量后,编译器开始告诉我代码太大了260字节,我感到困惑。原来是另外一回事。谢谢你迅速的回答!关于这个网站,我还有很多东西要学。我再次道歉。 u

假设我有:

文件1.c main.c
这是否会在main.c中创建变量数组的副本?

否,它会告诉链接器“某个地方有一个具有此名称的变量,请在提到它时填写对它的引用”。

为什么您认为它会创建副本?关于
extern
关键字,你研究了什么?声明某物只会告诉编译器“某物”存在于某个地方。我为这个愚蠢的问题道歉。我读到它创建了一个引用,但在我在一个源代码中声明了一个外部变量后,编译器开始告诉我代码太大了260字节,我感到困惑。原来是另外一回事。谢谢你迅速的回答!关于这个网站,我还有很多东西要学。我再次道歉。
uint8_t array[] = {1, 2, 3};
extern uint8_t array[];