int (*p)[3] 先说下结论:p指向一个数组! 对于int (*p)[3],我们关注的对象p首先被括号括了起来:(*p),所以它首先被解释成了一个指针,而这个指针指向的内容,则是括号外所表示的内容:int [3],即一个长度为 3 的数组,所以指针p指向一块内存区域(请把它指向的内容看做一个整体) image.png 与数组对比,...
int *p[3]和int (*p)[3]区别 这两个其实是数字指针和指针数组的区别。我们一个一个来说明: int *p[3];//定义了一个三维数组,其中的每个元素p[0]、p[1]、p[2]都是指向int变量的指针。 int (*p)[3];//定义了一个指针,这个指针是指向一个三维数组的。 两者之间的区别和联系可以用一个二维数组来阐...
区别一是:一个是3个元素的数组,相当于定义了三个变量;一个是单个变量。区别二 是:前者变量类型是int*,后者变量类型是int (*)[3],int*指针的步长是一个int,而int (*)[3]指针步长是3个int。int *p = new int[3];int nAddress0 = (int)&p[0]; // 取p[0]的地址 int nAddre...
int (*p)[3] 是定义了一个数组指针 p,指向一个大小为 3 的整型数组; int* p[3] 是一个数组,有3个元素,每个元素都是一个指向整型的指针。 #include<iostream>usingnamespacestd;intmain(){intp[3]={1,2,3};int(*pa)[3];// pointer to array of 3 intsint*pb[3];// array of 3 pointers ...
int *p[3]; p是指针数组,每个元素都是指向int的指针 int (*p)[3]; p是数组指针,p是指向一个有3个int的数组的指针
int *p[3];是放三个指针的数组。。 int p[3]是存放三个普通变量。。 是数组指针, 它就是一个指针,只不过它指向的不是一个数,而是一个数组。。而且是[n]个大小的。。int(*p)[3]; p是指针,指向[3]个大小的数组···如 int a[2][3]; int (*p)[3]; p=a;...
您好,我来回答你的问题,int *p[3]是指针数组,这个数组有3个元素,每个元素都是指针。int (*p)[3]是指向一维数组的指针变量,就是这个指针指向了一个一维的数组。很荣幸为您回答问题,祝您开心,生活愉快~~~
int *p[3];是放三个指针的数组。。 int p[3]是存放三个普通变量。。 是数组指针, 它就是一个指针,只不过它指向的不是一个数,而是一个数组。。而且是[n]个大小的。。int(*p)[3]; p是指针,指向[3]个大小的数组···如 int a[2][3]; int (*p)[3]; p=a;...
我的理解:看本质。指针数组,其本质是数组,*p[3]本质是一个数组,但前面有*说明是一个指针型的数组;数组指针本质是指针,(*p)[3]其本质是*p,这个指针里面又包含*p[0],*p[1],*p[2],是一个数组指针。
有区别的,第一个里面是数组指针 该指针指向的数组中所有数据都是int (p是一个指针,指向的是一个含有三个元素的整形数组)。第二个里面p是一个指针数组的数组名,这个数组里面存的是整形的指针。