extern char
时间: 2024-04-08 14:26:38 浏览: 13
extern char是C/C++中的关键字组合,用于声明一个全局变量或函数的外部链接性。它告诉编译器该变量或函数是在其他文件中定义的,而不是当前文件中定义的。
当使用extern char声明一个全局变量时,它表示该变量在其他文件中定义,并且可以在当前文件中使用。这样可以实现多个文件之间共享同一个全局变量。
当使用extern char声明一个函数时,它表示该函数在其他文件中定义,并且可以在当前文件中调用。这样可以实现多个文件之间共享同一个函数。
需要注意的是,extern char只是声明,不是定义。变量或函数的定义通常在其他文件中进行。
相关问题
C语言中extern char
在C语言中,`extern char` 是用来声明外部变量的关键字。当我们在一个文件中声明一个外部变量时,可以使用 `extern` 关键字来告诉编译器该变量是在其他文件中定义的。
例如,假设我们有两个源文件:file1.c 和 file2.c。我们想在 file1.c 中使用 file2.c 中定义的变量 `myVar`。我们可以在 file1.c 中使用 `extern char myVar;` 来声明该变量。
这样,在编译和链接阶段,编译器会知道 `myVar` 是在其他文件中定义的,并且可以正确地将它与实际的定义联系起来。注意,`extern char` 只是一个示例,实际上可以根据变量的类型进行相应的声明。
需要注意的是,`extern` 关键字只是用于声明变量,而不是定义变量。变量的定义通常是在另一个文件中进行的。通过使用 `extern` 关键字,我们可以使得多个文件之间可以共享同一变量的定义。
extern char szAotuTestLogName[100]
`extern char szAotuTestLogName[100]` 是一个字符数组的声明,用于声明一个名为 `szAotuTestLogName` 的字符数组,长度为 100,并且该数组在其他源文件中定义。
这里的 `extern` 关键字表示该数组在其他源文件中定义,该声明语句只是在本文件中引用该数组。在使用该数组时,需要在其他源文件中进行定义。
例如,在文件 A.cpp 中定义一个字符数组 `szAotuTestLogName`,并在文件 B.cpp 中使用它,可以这样写:
A.cpp 文件:
```
char szAotuTestLogName[100] = "test.log"; // 定义字符数组 szAotuTestLogName,并初始化为字符串 "test.log"
```
B.cpp 文件:
```
extern char szAotuTestLogName[100]; // 在 B.cpp 中声明 szAotuTestLogName 为一个在其他文件中定义的字符数组
ofstream out(szAotuTestLogName); // 使用 szAotuTestLogName 创建一个输出文件流
out << "Hello, World!" << endl; // 向文件中输出一行字符串
```
这样,在编译时,编译器会将 A.cpp 和 B.cpp 一起编译,并在链接时将两个文件中的 `szAotuTestLogName` 数组合并起来。然后在运行时,B.cpp 中的代码就可以使用 A.cpp 中定义的数组 `szAotuTestLogName` 了。
使用 `extern` 声明外部变量或函数有助于在多个源文件中共享变量或函数,并提高代码的可维护性和可重用性。