我们定义一个数组和指针
int arry[ ] = {0, 4 ,7, 8}
int *ptr;
ptr = arry;(或者ptr = &arry[0])
首先我们要先了解一些概念:
0.数组实际上是指针的变相形式
1.指针的数值就是它指向的对象的地址
2.在指针前运用运算符*就可以得到该指针所指向对象的数值
如:*ptr = 0
*(ptr+1)= 4
在这里顺便说一下*(ptr+1)与*ptr+1的区别,由于间接运算符*的优先级高于+,所以*ptr+1相当于(*ptr)+1,也就是说*ptr+1等于第一个元素的值(*ptr =0)加上1等于1
3.对指针加1,等于对指针的值(地址)加上它所指向的对象字节的大小(假设指针以2个字节单位增加)
如:arry + 2 = &arry[2] /*相同的地址*/
*(arry + 2) = arry[2] /*相同的值*/
*(ptr+1) = arry[1] 等于4