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