美文网首页
教你理解下C语言数组指针偏移量

教你理解下C语言数组指针偏移量

作者: 日常生活干什么 | 来源:发表于2016-04-18 17:37 被阅读1949次

         有些刚学习C语言的人对于数组的指针偏移量非常的困惑,对于各种不同情况下得+1 +1 蒙圈今天翻了下以前总结,重新写一篇博文

    首先假设一个数组元素为int类型的一维数组叫做arr[4],arr的地址为0x00.

    arr是这个数组首元素地址==&arr[0], 心得就是 无论&什么什么+1 就是&符号后面的内容占据的地址单元数+指针起始位置 arr[0]占据4地址单元

    所以arr +1 == &arr[0]+1 =4+0x00=0x04; 而 &arr+1 = 0x10; 这里&后面arr是个数组名就可以当成是arr这整个数组占据的地址单元数+地址.它占据16个地址单元 &arr+ 1=16+ 0x00= 0x10.一维数组中各元素也是如此,arr[0]+1等于 arr[1]同样适用,arr[0]是int 类型在内存中占用四个字节,所以+1也是跳到第5个字节就是arr[1]的字节那儿,所以就是arr[1]了

    二维数组指针也是一样的,希望以后这些东西不会困扰你

    相关文章

      网友评论

          本文标题:教你理解下C语言数组指针偏移量

          本文链接:https://www.haomeiwen.com/subject/shsalttx.html