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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Fire_day 中级黑马   /  2015-4-3 19:30  /  1257 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我现在在看指针的问题,遇到了两个概念就是指针数组和数组指针,有没有什么好的区别方法呢?可不可以这样理解,指针数组=指针(数组),数组指针=数组[指针],不过感觉也不太对的样子。

4 个回复

倒序浏览
我的理解是:指针数组就是说数组的元素是指针,数组指针说的是一个指针变量指向数组
回复 使用道具 举报
So然后 2015-4-3 22:31:33
藤椅
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
So然后 2015-4-3 22:32:37
板凳
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。而指针数组 定义 int *p[n]; []优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。这里执行p+1是错误的,这样赋值也是错误的:p=a;因为p是个不可知的表示,只存在p[0]、p[1]、p[2]...p[n-1],而且它们分别是指针变量可以用来存放变量地址。但可以这样 *p=a; 这里*p表示指针数组第一个元素的值,a的首地址的值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马