C++数组指针

时间:2024-11-04 07:26:26

int* parr[]和int (*parr)[]

int* parr[]
[]的优先级高于*
parr[]->我的一个数组,什么类型?
int ->数组中的元素都是int类型的.

int (*parr)[]
*parr->parr是一个指针
(*parr)[]->是一个数组的指针
int (*parr)[]->这个数组中的元素是int类型的

在这里插入图片描述

arr[0] ==&a;
*(&a) == a;
*arr[0] ==a

int a = 10, b = 20, c = 30;
int* arr[] = { &a,&b,&c };

int* (*parr)[]

*parr -> parr是一个指针,什么类型?
(parr * )[]是一个数组的指针
数组的元素是什么类型?
int * (*parr)[]->数组中的每一个元素都是int *类型的

	int a = 10, b = 20, c = 30;

	int* arr[] = { &a, &b, &c };
	int* (*parr)[3] = &arr;

	// 通过parr取到数组arr
	// *parr == arr;
	// *parr[0] == arr[0] = &a; 
	// *(*parr[0]) == a;

	cout << *((*parr)[0]) << endl;