C語言中的數組指針是一種特殊的指針類型,用于指向數組的內存起始位置。
數組指針可以用來訪問數組中的元素,也可以進行數組的傳遞和引用。
以下是一些常見的使用方式:
int* ptr;
這樣聲明的ptr
是一個指向int
類型的數組的指針。
int arr[5] = {1, 2, 3, 4, 5};
int* ptr = arr;
這樣ptr
指向數組arr
的第一個元素。
int val = *(ptr + 2);
這樣可以獲取arr[2]
的值。
void modifyArray(int* ptr) {
*(ptr + 3) = 10;
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
modifyArray(arr);
// 此時arr[3]的值已被修改為10
return 0;
}
需要注意的是,數組指針并不存儲數組的長度信息,因此在使用數組指針時需要特別注意數組的邊界。另外,數組指針的算術運算是以字節為單位進行的,因此要根據數組元素的大小進行正確的偏移量計算。