黑马程序员技术交流社区

标题: 关于指针加减法的问题 [打印本页]

作者: 牛牛很牛    时间: 2016-5-30 21:47
标题: 关于指针加减法的问题
指针*p指向数组的第0个元素
指针*(p+1)指向数组的第1个元素
那么为何*(p+2)就是表示指向第2个元素呢?
我不明白的是“1”和“2”都是 整型常量,占用的空间都是4个字节,所以无论后边加都是几,都应该是加了4个字节的空间啊。
高手勿喷
作者: Cathy    时间: 2016-5-30 23:51

不太明白你想要表达什么,指针p是一个变量,保存的是指向元素的低字节的地址,
如果p是int类型的指针,p+1代表向指针向下移动了4个字节的位移,p+i即移动了i*4的字节

作者: 上帝的天使    时间: 2016-5-31 12:41
加的是一个单位的字节。
若是int就加1个单位的int型字节。为:1x4 = 4个字节。
若是char就是加1个单位的char型字节。为:1x1 = 1个字节。
作者: 牛牛很牛    时间: 2016-6-1 19:53
上帝的天使 发表于 2016-5-31 12:41
加的是一个单位的字节。
若是int就加1个单位的int型字节。为:1x4 = 4个字节。
若是char就是加1个单位的ch ...

谢谢
作者: 牛牛很牛    时间: 2016-6-1 19:54
Cathy 发表于 2016-5-30 23:51
不太明白你想要表达什么,指针p是一个变量,保存的是指向元素的低字节的地址,
如果p是int类型的指针,p+1代表 ...

谢谢
作者: vivi342863    时间: 2016-6-1 23:18
来看大神解释~




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