为什么数组指针是这样

img


指针为什么可以用【】来访问数组并真的改变数组的值啊?凑字数水一下再来水一下

这本来就是可以的。
相当于*(arr + 1)

【以下回答由 GPT 生成】

指针可以使用【】访问数组并改变其值的原因是因为数组名本身就是指向数组首元素的指针。

在C++中,数组名可以被视为指向数组首元素的指针。当我们对数组名使用【】运算符时,其实是将指针进行相应的偏移,以访问数组中的不同元素。

在给定的代码示例中,数组名arr即代表了指向arr[0]的指针。在函数change中,我们将传入的指针arr进行偏移,使用【】运算符访问并改变了数组arr的第一个元素的值。

通过将指针进行偏移,并使用【】运算符访问数组元素,我们可以实现对数组中各个元素的访问和更改操作。

因此,指针可以使用【】访问数组并改变其值的原因是因为数组名本身就是指向数组首元素的指针,通过对指针进行偏移,我们可以访问和改变数组中不同位置的元素。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

因为指针存放的是数据所在的地址,本质操作就是直接访问该数据地址并修改该数据。