"extern" 是一个 C 和 C++ 编程中的关键字,用于声明外部变量或函数。它告诉编译器,被声明的变量或函数是在其他文件中定义的,而不是当前文件中。
例如,在源文件中进行定义和初始化:
char Serial_RxPacket[100];
uint8_t Serial_RxFlag;
(这两个变量是在当前文件中定义的,因此不需要使用 extern 关键字进行声明)
在头文件中进行声明:
extern char Serial_RxPacket[];
extern uint8_t Serial_RxFlag;
注:在声明的时候不写数组的大小“100”是因为该声明位于头文件中,通常情况下,头文件用于声明变量和函数的接口,以便其他源文件可以引用它们。由于头文件通常会被多个源文件包含,如果在头文件中指定数组大小,那么这个大小会被多次重复定义,可能会导致编译错误或者产生意外的行为。
因此,通常的做法是在头文件中使用 extern 关键字声明数组,而在实际定义数组的源文件中指定数组的大小。这样做可以避免重复定义的问题,并且使得程序的结构更加清晰。