黑马程序员技术交流社区

标题: 问个关于指针的问题 [打印本页]

作者: 墨子    时间: 2014-4-29 14:24
标题: 问个关于指针的问题
1、int(*p)[4];
2、int *p[4];
3、int(*)[4];
这三个求区别  谢谢!
作者: gaoxinglei123    时间: 2014-4-29 14:42
1.int(*p)[4];定义p为一个指向四个元素的整形数组的数组指针。p内存储的位数组的首地址。但p指向的单位是数组。
2.int *p[4];定义p为一个数组,数组的四个元素都是整型指针变量。所谓整型指针就是指针变量内存储整型变量的地址,且指向的单位是型元素。
3.int (*)[4];其实是数组指针的类型。例如typedef int (*IntArrayPointer)[4];就可以通过IntArrayPointer p;来定义数组指针。IntArraPointer p;和int (*p)[4]等价。
作者: 魅影穿眸    时间: 2014-4-29 14:43
int *p[4]中定义的p是有4整型指针的数组

int(*q)[4]  q是指向具有4个整型元素的数组的指针!
3跟1一样




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2