在C语言中,指针和数组都可以作为函数参数进行传递。但是它们之间有一些细微的差别。
void modify(int *ptr) {
*ptr = 10;
}
int main() {
int num = 5;
modify(&num);
printf("%d\n", 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;
}
需要注意的是,虽然数组名会被转换为指针类型,但是在函数内部仍然可以通过下标访问数组元素。另外,为了传递数组长度,通常会将数组长度作为额外的参数传递给函数。