在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
所指向內存位置的后兩個位置處的值,即數組的第三個元素。