C extern 关键字
在 C 语言中,使用 extern
关键字声明的变量是外部变量,表示该变量在其他文件中定义。
extern
关键字在 C 语言中用于声明外部变量或函数,使得它们可以在多个文件中共享和使用。
extern
主要用于实现模块化编程和代码的分离。
extern
变量的声明和定义通常放在不同的文件中。
1、定义和初始化(在一个文件中 file1.c)
实例
// 定义并初始化外部变量
int d = 3;
int f = 5;
void printExternVariables() {
printf(“d: %d, f: %dn“, d, f);
}
2、声明并使用(在另一个文件中 file2.c)
实例
// 声明外部变量
extern int d;
extern int f;
int main() {
// 使用外部变量
printf(“d in main: %dn“, d);
printf(“f in main: %dn“, f);
// 调用其他文件中定义的函数
printExternVariables();
return 0;
}
// 声明外部函数
void printExternVariables();
extern 函数
类似于变量,函数也可以在一个文件中定义,在另一个文件中声明并使用。
1、定义函数(在一个文件中 file1.c)
实例
void printMessage() {
printf(“Hello from printMessage!n“);
}
2、声明并使用函数(在另一个文件中 file2.c)
实例
// 声明外部函数
extern void printMessage();
int main() {
// 调用外部函数
printMessage();
return 0;
}
3、编译多个文件
为了使用 extern 变量和函数,必须将所有相关文件一起编译。例如:
gcc file1.c file2.c -o program ./program
注意事项
-
定义和初始化:外部变量必须在一个文件中定义和初始化,而在其他文件中仅声明。
extern
声明不能进行初始化。 -
作用域:
extern
变量和函数具有全局作用域,可以在程序的任何地方访问。 - 重复定义:避免在多个文件中重复定义相同的变量或函数,这会导致链接错误。
-
头文件使用:通常将
extern
声明放在头文件中,然后在需要的源文件中包含该头文件。
头文件的使用
为了简化管理,可以使用头文件声明 extern 变量和函数。
variables.h 文件代码:
#define VARIABLES_H
// 声明外部变量
extern int d;
extern int f;
#endif
functions.h 文件代码:
#define FUNCTIONS_H
// 声明外部函数
void printExternVariables();
void printMessage();
#endif
然后在源文件中包含头文件:
file1.c 文件代码:
#include “variables.h”
#include “functions.h”
// 定义并初始化外部变量
int d = 3;
int f = 5;
void printExternVariables() {
printf(“d: %d, f: %dn“, d, f);
}
void printMessage() {
printf(“Hello from printMessage!n“);
}
file2.c 文件代码:
#include “variables.h”
#include “functions.h”
int main() {
// 使用外部变量
printf(“d in main: %dn“, d);
printf(“f in main: %dn“, f);
// 调用外部函数
printExternVariables();
printMessage();
return 0;
}
这样通过头文件管理 extern 声明,代码更加清晰和易于维护。
文章来源于互联网:C extern 关键字
Rust 迭代器 Rust 中的迭代器是一种方便、高效的数据遍历方法,它提供了一种抽象的方式来访问集合中的每个元素,而不需要显式地管理索引或循环。 迭代器允许你以一种声明式的方式来遍历序列,如数组、切片、链表等集合类型的元素。 迭代器背后的核心思想是将数据处理…