88问答网
所有问题
C语言int (*p)[4]和int *p[4]区别
int *p[4] 可以当做一个数组使用,
而int (*p)[4] 可以当数组吗,
两个区别是什么int (*p)[4];如何使用呢。
举报该问题
推荐答案 推荐于2018-04-12
int *p[4], 是一个长度为4的指针数组,数组的元素为int*;
sizeof(p) => 4*4 = 16;(32位系统一个指针4字节)
用法:*(p[0])
int (*p)[4] 是一个指向长度为4数组的指针,即int(*)[4];
其本质是一个指针,如在32为系统上,sizeof(p) => 4
用法:(*p)[0].
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://88.wendadaohang.com/zd/MgtBSBBBcBBSKtVagMB.html
其他回答
第1个回答 2014-11-05
第一个是指针数组,第二个是数组指针。区别是他是一个指针还是多个指针。
数组指针只是一个指针变量,似乎是C语言里专门用来指向二维数组的,它占有内存中一个指针的存储空间。指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。
int (*p)[4]就相当于int p[][4],它就是一个二维数组的指针,可以指向一个第二维度为4的二维数组
本回答被网友采纳
相似回答
int(* p)[4]和int* p[4]
有什么
区别
答:
int (*p)[4] 和 int *p[4]的区别为:
性质不同、长度不同、指向不同
。一、性质不同 1、int (*p)[4]:int (*p)[4]是个指针,指向有四个int类型数据的数组。2、
int *p[4]:int *p[4]是个数组
,每个元素都是一个int *指针。二、长度不同 1、int (*p)[4]:int (*p)[4]的长度为...
C语言
中
int*p[4] 和 int(*p)[4]
的
区别
答:
一、结合性不同:前者是指针数组
,为4个int指针的数组,有4个元素;后者是数组指针,为一个指针,类型为指向包含4个int类型元素的一维数组的指针。二、
含义不同
:
int*p[4]是指针的数组
,也就是说它是一个数组,数组里存的是一个个的指针。int(*p)[4]是数组的指针,也就是说它shu是一个指针...
int
(*p)[4] 和 int
*p[4]
的
区别
?
答:
int (*p)[4] 和 int *p[4]的区别为:
性质不同、长度不同、指向不同
。一、性质不同 1、int (*p)[4]:int (*p)[4]是个指针,指向有四个int类型数据的数组。2、
int *p[4]:int *p[4]是个数组
,每个元素都是一个int *指针。二、长度不同 1、int (*p)[4]:int (*p)[4]的长度为...
C语言
中
int*p[4] 和 int(*p)[4]
的
区别
是什么?
答:
int*p[4]是指针的数组,也就是说它是一个数组,数组里存的是一个个的指针 int(*p)[4]是数组的指针
,也就是说它是一个指针,指向的是一个数组。指针指向的类型会影响到指针加减运算时地址的位移。比如说有一个数组 int a[4],加上取址运算符 &a,这个表达式的类型就是指向数组的指针,可以...
int
(*p)[4]
等同于int
*p[4]
吗?
答:
int
*p[4]
是一个指针数组,就是数组里面放的是指针。由于[]比*优先级更高,因此p先
与[4]
结合,形成p[4]形式,这显然是数组形式,它有4个元素,然后再与p前面的*结合,*表示此数组是指针类型的,每个数组元素(也就是一个指针变量)都可以指向一个整形变量。*p[4]是指针数组,他是数组。数组...
int(*p)[4]
int*p[4]
是一个意思吗?
答:
当然不是,
int(*p)[4]
表示p是一个指针变量,它指向包含4个整型元素的一维数组 而int
*p[4]
,由于方括号[]运算级别高,因此p先与[4]结合,此时p[4]定义成数组形式,再与前面的 * 结合,这样一来就是一个存放指针的数组了。
int
(*p)[4]和 int
a[4]; int *p=a;有本质
区别
么, int (*p)[4]如何...
答:
第一个是指针,指向的是有4个元素的数组,是一个数组指针(不是指针数组)。
int
a[4];int *p=a,把a的首地址赋值给p,p=a;int main (){ int a[4]={0};int
(*p
i
)[4]
;pi=a;return 0;}
c语言
问题!int
*p[4]和int
(*p)[4]
有什么
区别
?
答:
int
*p[4]
,就是p本质上是个数组,只不过数组中的每个元素都是指针 int
(*p)[4]
,就是p本质上是个指针,指针指向一个一维的数组 这种题的话,其实可以先根据运算符的优先级、结合性,先确定标识符本质上是一个什么,然后再去补充 例如,int *p[3],先根据优先级,等效于*(p[3]),所以p...
大家正在搜
c语言中void和int的区别
void main和int的区别
int integer区别
float和int的区别
c语言long int
int void区别
int和double的区别
c语言 int范围
int char区别
相关问题
C语言中 int*p[4] 和 int(*p)[4]的区别
C语言中 int*p[4] 和 int(*p)[4]的区别是...
c语言问题!int *p[4]和int (*p)[4]有什么...
请问下在C语言中int (*p)[4]与int **p到底有...
int (*p)[4] 和 int *p[4]的区别?
const int *p和int * const p的区别
C语言中int (*p)[4]与int **p的区别
int (*p)[4]与 int *p的区别