在C語言中,指針可以通過以下兩種方式指向數組:
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 使用數組名作為指針
上述代碼中,arr
可以被視為指向第一個元素1的指針,因此將arr
賦值給指針ptr
,即可使ptr
指向數組arr
的第一個元素。
&
:通過使用取地址操作符&
,可以獲得數組的第一個元素的地址。例如,考慮以下代碼:int arr[5] = {1, 2, 3, 4, 5};
int *ptr = &arr[0]; // 使用取地址操作符
上述代碼中,&arr[0]
表示數組arr
的第一個元素1的地址,將該地址賦值給指針ptr
,即可使ptr
指向數組arr
的第一個元素。
無論是使用數組名或取地址操作符,指針都可以通過增加或減少指針的值來訪問數組中的其他元素。例如,可以使用指針的自增操作符++
來訪問下一個元素,例如ptr++
表示指針ptr
向后移動一個元素的位置。