int *p[3]和int (*p)[3]区别

2018-06-17 22:01:01来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

这两个其实是数字指针和指针数组的区别。我们一个一个来说明:
int *p[3];//定义了一个三维数组,其中的每个元素p[0]、p[1]、p[2]都是指向int变量的指针。
int (*p)[3];//定义了一个指针,这个指针是指向一个三维数组的。

两者之间的区别和联系可以用一个二维数组来阐述:

int *p[3];//定义p[3]为指针数组
int (*q)[3];//定义q为数组指针
int a[4][3];//定义一个二维数组

p[0]=&a[0][0];//可以取a[4][3]中任意元素的地址给p[3]中的元素赋值
q=a[1];//a[1]其实是一个三维数组,其元素包括a[1][0],a[1][1],a[1][2],所以
//a[1]就表示这个数组的首地址,这个地址可以用来给q赋值

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:王道训练营-C语言-1

下一篇:Luogu P1690 贪婪的Copy