(21行if的花括号里没有*,抱歉)
数组变量为指针,所以pArr实际上也是指针。
假设pArr存储于0x80808086
则pArr=0x80808086,
pArr存储[1,2,3,4]
*pArr=pArr[0]=1
*(pArr+1)=pArr[1]=2
以此类推
p和pArr都是指针呀
看看书吧
1.数组本身也是指针,但比较特殊,首先你可以使用sizeof去看它申请了多少内存,而另一个指向它首地址的普通指针则不能用这种方法看内存,其次它是只读的,你不可以修改数组的首地址。那么既然都是指针,里面存的都是地址,互相加减当然也没有问题,减得的结果就是指针相差的地址数量。
2.p++就是指针的地址值自加1,如果p是int型的指针,那么它一次移动4个字节(int类型的长度)
3.*p是解地址,也就是要给指针指向的地址内存取值或赋值,而不是给指针本身的地址值取值或赋值