数组表示法与指针表示法

  1. 首先明确数组和指针的关系十分密切,可以使用指针标识数组的元素和获得元素的值

  2. 从本质上看,同一个对象有俩种表示法
    (以数组 int arr[6]为例)
    地址的表示有俩种方法:
    arr+2==&arr[2]
    数组的值的表示有俩种方法:
    *(arr+2)==arr[2]

  3. 其实质为
    定义arr[n]的意思是*(arr+n),可以认为*(arr+n)的意思是 “到内存的arr位置(首元素的地址),然后移动n个单元,检索存储在那里的值”

  4. 运算符*的优先级高于+
    所以不要混淆 *(arr+2) 和 *arr+2,
    *(arr+2)表示数组arr第三个元素的值
    *arr+2表示数组arr中的第一个元素的**值(不是地址)**加上2。


版权声明:本文为m0_64075307原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。