如何在子函数中修改全局变量的数组的值
时间: 2024-02-07 10:01:54 浏览: 231
要在子函数中修改全局变量的数组的值,可以通过使用全局变量的名称来直接访问和修改数组元素。全局变量在整个程序中都是可见的,因此子函数可以直接访问和修改全局数组的元素。
以下是一个示例代码,演示了如何在子函数中修改全局变量的数组的值:
```c
#include <stdio.h>
// 声明全局数组
int myArray[] = {1, 2, 3, 4, 5};
int arraySize = sizeof(myArray) / sizeof(myArray[0]);
// 子函数,用于修改全局数组的值
void modifyGlobalArray() {
for (int i = 0; i < arraySize; i++) {
myArray[i] += 1;
}
}
int main() {
printf("Before modification: ");
for (int i = 0; i < arraySize; i++) {
printf("%d ", myArray[i]);
}
modifyGlobalArray(); // 调用子函数修改全局数组的值
printf("\nAfter modification: ");
for (int i = 0; i < arraySize; i++) {
printf("%d ", myArray[i]);
}
return 0;
}
```
在上述示例中,我们声明了一个全局数组 `myArray` 和一个全局变量 `arraySize`。在 `modifyGlobalArray` 子函数中,我们直接使用全局数组的名称 `myArray` 来修改数组的值。在 `main` 函数中,我们打印出修改前后的数组值。输出结果如下:
```
Before modification: 1 2 3 4 5
After modification: 2 3 4 5 6
```
可以看到,通过在子函数中直接访问和修改全局数组的元素,我们成功地修改了全局变量的数组的值。
阅读全文