extern define
时间: 2023-11-21 13:49:53 浏览: 40
extern是C语言中的一个关键字,用于在一个文件中声明一个变量或函数是在其他文件中定义的。它告诉编译器在当前文件中只是声明这个变量或函数,而定义在其他文件中。extern关键字可以用于变量和函数的声明。
在C语言中,extern关键字可以置于变量或函数的前面,以指示编译器在其他模块中寻找其定义。这在多文件编程中非常有用,可以将变量或函数的定义分散在不同的文件中,同时在需要使用它们的文件中进行声明。
当使用extern声明一个变量时,意味着该变量在其他文件中已经定义,并且可以在当前文件中使用。而当使用extern声明一个函数时,表示该函数在其他文件中已经定义,并且可以在当前文件中调用。
需要注意的是,对于extern声明的变量,可以在多个文件中多次声明,但是定义只能有一次。
总结:
- extern关键字用于在当前文件中声明一个变量或函数是在其他文件中定义的。
- 对于extern声明的变量,可以在多个文件中多次声明,但是定义只能有一次。
- 对于extern声明的函数,可以在当前文件中调用其定义在其他文件中的函数。
相关问题
extern和define
`extern`和`#define`是C语言中两个不同的关键字,用于不同的目的。
1. `extern`关键字用于声明一个在其他地方定义的变量或函数。它可以在当前文件中引用其他文件定义的全局变量或函数,从而使得这些变量或函数能够在当前文件中被访问和使用。通过`extern`关键字,可以在当前文件中声明一个变量或函数,并告诉编译器该变量或函数是在其他地方定义的,从而避免重复定义。通常,`extern`关键字用于头文件中的变量或函数声明,以便在其他文件中进行使用。
2. `#define`是一个预处理指令,用于定义一个常量或宏。它可以用于为一个标识符指定一个固定的值,或者为一段代码指定一个替换文本。在编译过程中,预处理器会将代码中出现的所有该标识符替换为指定的值或代码。`#define`指令通常用于定义常量、宏、条件编译等。通过使用`#define`指令,可以增强代码的可读性、可维护性和灵活性。
总结来说,`extern`关键字用于声明在其他地方定义的变量或函数,使其可在当前文件中访问和使用;而`#define`指令用于定义常量或宏,在编译过程中进行替换,以实现代码的重用和灵活性。
#define+EXTERN
EXTERN是一个宏定义,用于在C和C++代码中声明外部变量或函数的可见性。它的定义根据不同的编程语言进行了适配,以确保在不同的编译环境下都能正确使用。在UIKIT_EXTERN和FOUNDATION_EXTERN的定义中,它们都使用了EXTERN宏定义来声明外部变量或函数。这样一来,我们可以在其他文件中使用这些被声明为EXTERN的变量或函数。