在C语言中,可以通过以下两种方法给数组指针赋值:
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;
在上述例子中,arr
是一个整型数组,ptr
是一个指向整型的指针。通过将数组名arr
赋值给ptr
,ptr
就指向了数组的第一个元素。
&
取得数组的地址:int arr[5] = {1, 2, 3, 4, 5};
int *ptr = &arr[0];
在这个例子中,&arr[0]
取得了数组第一个元素的地址,然后将该地址赋值给了指针ptr
。
无论是哪种方法,赋值后的指针ptr
都可以通过指针操作符*
来间接访问数组元素,例如:
int firstElement = *ptr; // 访问数组的第一个元素
int thirdElement = *(ptr + 2); // 访问数组的第三个元素
在上述代码中,*ptr
表示访问ptr
所指向的内存位置的值,*(ptr + 2)
表示访问ptr
所指向内存位置的后两个位置处的值,即数组的第三个元素。