在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
向后移动一个元素的位置。