在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;
}
需要注意的是,雖然數組名會被轉換為指針類型,但是在函數內部仍然可以通過下標訪問數組元素。另外,為了傳遞數組長度,通常會將數組長度作為額外的參數傳遞給函數。