A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 墨子 中级黑马   /  2014-4-29 14:24  /  920 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、int(*p)[4];
2、int *p[4];
3、int(*)[4];
这三个求区别  谢谢!

评分

参与人数 1技术分 +1 收起 理由
脸皮猴 + 1

查看全部评分

2 个回复

正序浏览
int *p[4]中定义的p是有4整型指针的数组

int(*q)[4]  q是指向具有4个整型元素的数组的指针!
3跟1一样
回复 使用道具 举报
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]等价。

评分

参与人数 1技术分 +1 收起 理由
脸皮猴 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马