数组怎么用extern
时间: 2024-06-12 07:01:37 浏览: 88
extern是C++中的一个关键字,用于声明一个变量或者函数是在其他文件中定义的,这样在当前文件中可以引用这个变量或者函数。数组也可以使用extern关键字来声明。
假设我们有两个文件a.cpp和b.cpp,如果我们想在a.cpp中使用b.cpp中定义的数组arr,则可以在a.cpp文件中使用extern来声明这个数组:
```
// b.cpp文件中定义数组arr
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// a.cpp文件中使用b.cpp中定义的数组arr
extern int arr[10];
```
这样,在a.cpp中就可以使用数组arr了,而不需要重新定义一遍。需要注意的是,声明时要和实际定义数组时使用的类型和名称完全一致。
相关问题
extern数组例子
extern数组在C语言中用于声明数组但不定义其内存。当你在一个函数或者作用域外部声明数组,而在内部定义时,可以确保数组在整个程序中的可见性和一致性。这里是一个简单的extern数组的例子:
```c
// 在头文件(header.h)中声明数组
extern int myArray[10];
// 在某个源文件(main.c)中定义数组
int main() {
// 在这里为myArray分配内存并初始化
myArray = 0;
for (int i = 1; i < 10; i++) {
myArray[i] = i;
}
// 在其他函数或作用域中可以访问myArray
void printArray(int arr[]) {
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
}
printArray(myArray); // 输出数组元素
return 0;
}
```
extern声明数组
`extern` 声明数组在C或C++中用于表示一个变量或类型已经在其他文件(通常是一个头文件)中定义,但在当前文件中只做引用,而不是实际定义和分配内存。当你在一个源文件中看到一个 `extern` 数组声明时,它告诉编译器这个数组存在别处,并不需要在这里初始化。
例如:
```c++
// 在头文件 array.h 中
extern int myArray[10]; // 外部声明数组
// 在另一个源文件 array.cpp 中
int myArray[10] = {0}; // 实际定义并初始化数组
// 在主程序中包含头文件
#include "array.h"
```
在这个例子中,`myArray` 在 `array.h` 中作为外部声明,而在 `array.cpp` 文件中提供其实际内容。这样做的好处是可以避免数据冗余,如果多个文件都需要使用同一数组,只需在一处定义即可。
阅读全文