在C语言中,指针和数组在函数中的应用非常常见。指针和数组都可以在函数参数中传递,并且可以用于函数内对数组元素的访问和操作。
- 使用指针传递数组:
void modifyArray(int *arr, int size) { for(int i = 0; i < size; i++) { arr[i] = arr[i] * 2; } } int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); modifyArray(arr, size); for(int i = 0; i < size; i++) { printf("%d ", arr[i]); } return 0; }
- 使用数组名传递数组:
void modifyArray(int arr[], int size) { for(int i = 0; i < size; i++) { arr[i] = arr[i] * 2; } } int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); modifyArray(arr, size); for(int i = 0; i < size; i++) { printf("%d ", arr[i]); } return 0; }
在上面的例子中,通过指针或数组名传递数组,我们可以在函数内对数组元素进行修改,并且这种修改是直接作用在原数组上的。这样可以减少内存的开销,节省时间,并且可以避免数据的拷贝。