首先明确数组和指针的关系十分密切,可以使用指针标识数组的元素和获得元素的值
从本质上看,同一个对象有俩种表示法
(以数组 int arr[6]为例)
地址的表示有俩种方法:
arr+2==&arr[2]
数组的值的表示有俩种方法:
*(arr+2)==arr[2]其实质为
定义arr[n]的意思是*(arr+n),可以认为*(arr+n)的意思是 “到内存的arr位置(首元素的地址),然后移动n个单元,检索存储在那里的值”运算符*的优先级高于+
所以不要混淆 *(arr+2) 和 *arr+2,
*(arr+2)表示数组arr第三个元素的值
*arr+2表示数组arr中的第一个元素的**值(不是地址)**加上2。
版权声明:本文为m0_64075307原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。