头歌c语言第1关:掌握数组在函数中的应用方法及全局变量的用法
时间: 2024-12-22 14:16:46 浏览: 17
在C语言中,数组在函数中的应用主要是为了传递数据集合给函数,以便对这些数据进行处理。当我们将数组作为函数参数时,可以访问到函数内部对数组元素的操作。例如:
1. **传值调用(Pass by Value)**:默认情况下,数组名只是指向数组首地址的指针。如果只传递数组名,函数内修改的是副本,原数组不会变。
```c
void printArray(int arr[]) {
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
printf("%d ", arr[i]);
}
}
int main() {
int myArray[] = {1, 2, 3, 4, 5};
printArray(myArray);
// 主函数中myArray不会改变
}
```
2. **传引用调用(Pass by Reference)**:若需要函数修改原数组,可以通过指针间接传递,让函数操作实际的内存位置。
```c
void swapArrayElements(int *arr[], int n) {
int temp;
for (int i = 0; i < n - 1; i++) {
temp = arr[0][i];
arr[0][i] = arr[0][i + 1];
arr[0][i + 1] = temp;
}
}
int main() {
int array[] = {1, 2, 3, 4, 5};
swapArrayElements(&array, 5); // &array 指向整个数组
// 现在main中的array已交换了元素
}
```
至于全局变量,它们是在所有函数范围内都可见的变量,可以在函数外部定义并在函数内部使用。全局变量主要用于存储在整个程序生命周期中都需要的数据,避免频繁传递。注意,过度使用全局变量可能导致代码维护困难和潜在的问题,如数据竞争(race condition)。
阅读全文