在C語言中,指針和數組之間可以相互轉換,因為數組名實際上就是數組的首地址,而指針也可以存儲地址。
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 指針指向數組的首地址
printf("%d\n", ptr[2]); // 輸出3
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 數組名轉為指針
printf("%d\n", *(ptr + 2)); // 輸出3
需要注意的是,數組名轉為指針后,數組的大小信息會丟失,因此在進行指針與數組之間的轉換時需要注意數組的大小和邊界。