C++指针数组和数组指针
作者:野牛程序员:2023-07-21 12:34:08 C++阅读 2676
在C++中,指针数组和数组指针是两个不同的概念,它们涉及到指针和数组的组合使用。
指针数组(Array of Pointers): 指针数组是一个数组,其中的每个元素都是指针。这些指针可以指向不同的数据类型或者指向相同数据类型的不同变量。声明一个指针数组的方法是将指针类型放在数组声明的后面,用括号括起来。
例如,声明一个指针数组来存储几个整数的地址:
int a = 10, b = 20, c = 30; int* ptrArray[3]; // 声明一个包含3个指向整数的指针的数组 ptrArray[0] = &a; ptrArray[1] = &b; ptrArray[2] = &c;
在上面的例子中,ptrArray 是一个包含3个指向整数的指针的数组。每个元素都是一个指向 int 型变量的指针,分别指向 a、b 和 c 的地址。
数组指针(Pointer to Array): 数组指针是一个指针,它指向一个数组。声明一个数组指针的方法是在指针声明中使用数组名称,并使用括号指定指针的类型。
例如,声明一个指向整数数组的指针:
int arr[5] = {1, 2, 3, 4, 5};
int (*ptr)[5]; // 声明一个指向包含5个整数的数组的指针
ptr = &arr;在上面的例子中,ptr 是一个指向包含5个整数的数组的指针,它指向数组 arr 的起始地址。
可以通过指针来访问数组元素,例如:
cppCopy codecout << (*ptr)[0]; // 输出数组的第一个元素,即 arr[0]cout << (*ptr)[2]; // 输出数组的第三个元素,即 arr[2]
需要注意的是,指针数组和数组指针虽然名字相似,但其含义和用法是不同的,因此在使用时要注意区分。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

