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;
}
需要注意的是,数组指针并不存储数组的长度信息,因此在使用数组指针时需要特别注意数组的边界。另外,数组指针的算术运算是以字节为单位进行的,因此要根据数组元素的大小进行正确的偏移量计算。