指针的移动

1、指针移动:所谓指针移动就是对指针变量加上减去一个整数,或通过赋值运算,使指针变量向相邻的存储单元。(因此只有当指针指向一串连续的存储单元时,指针的移动才有意义)

11 22 33 44 55
a[0] a[1] a[2] a[3] a[4]

p=&a[0]
q=p+2
q++
q++
q–
p++
对指针进行加减运算时,数字“1”不再代表十进制数1,而是指一个单位存储单元长度。这个单元到底多长,要看存储数据的类型。
如果是int类型,则代表一个存储单元长度就是位移4个字节。如果是char类型,则代表一个存储单元长度就是位移1个字节,如果变量的类型是double类型,8个字节为一个单位,而指向它的指针是int,4个字节为一个单位,那么这个时候指针每移动一个单位就是代表移动4个字节的长度 ,这时候读取数据就会出现错误。

你可能感兴趣的:(指针的移动)