C语言指针变量作为函数参数
在C语言中,可以将指针变量作为函数的参数传递。使用指针作为函数参数的主要目的是允许函数能够修改指针所指向的内存地址中的值。
传递指针作为函数参数有两种方式:
1. 传递指向变量的指针:可以将变量的地址传递给函数,在函数内部通过指针访问和修改变量的值。这种方式允许在函数内部对变量进行修改,并且修改的结果在函数调用结束后仍然有效。
示例代码如下:
```
void changeValue(int *ptr) {
*ptr = 10;
}
int main() {
int num = 5;
changeValue(&num);
printf("%d", num); // 输出10
return 0;
}
```
传递指向数组的指针:可以将数组的首地址传递给函数,在函数内部通过指针访问和修改数组中的元素。这种方式可以通过函数对数组进行修改,并且修改的结果在函数调用结束后仍然有效。
示例代码如下:void printArray(int *arr, int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
printArray(arr, 5); // 输出 1 2 3 4 5
return 0;
}
需要注意的是,传递指针作为函数参数时,应确保指针指向的内存地址是有效的,避免出现悬空指针或内存访问错误的情况。