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