c语言编程里的extern unsigned char RxBuffer1[200];是什么意思啊

2025-01-18 13:57:06
推荐回答(3个)
回答1:

两种可能,在同一个文件内,表示数组RxBuffer1[200]在别的地方已经被定义了,这里的是引用。举个例子

#include

void fun(){
    extern unsigned char RxBuffer1[200];
}

unsigned char RxBuffer1[200];

这里之所以要用extern来引用,是因为c语言的运算方式是从上到下。如果你的全局变量定义在需要使用的下面的时候,就需要用extern来引用了。反之则不用,例如

#include

int a;
void fun(){
    a = 2;
}

第二种可能,不在同一个文件内。当你在a.c文件里定义了一个unsigned char类型的长度为200的名字叫RxBuffer1的数组后,需要在b.c文件里使用,那么你就需要在b.c中使用这段话来声明,这个数组变量是引用的。

extern unsigned char RxBuffer1[200];

回答2:

在另外一个编译单元里定义了一个长度为200的字符数组,在这里只是声明

回答3:

扩展作用范围