C反转索引器和数组名称

C反转索引器和数组名称,第1张

概述参见英文答案 > With arrays, why is it the case that a[5] == 5[a]?                                    15个 我在网路上遇到过,想知道有人能够解释一下,至少给我一个可能的名字,以至于我至少知道我在搜索什么. int main(){ int myarray[4] = {0, 100, 200, 300}; 参见英文答案 > With arrays,why is it the case that a[5] == 5[a]?15个
我在网路上遇到过,想知道有人能够解释一下,至少给我一个可能的名字,以至于我至少知道我在搜索什么.
int main(){   int myarray[4] = {0,100,200,300};   2[myarray] = -999;  //why does this work? what is this called?   for ( int i = 0; i < 4; i++)       cout << myarray[i] << endl;}

输出为0,-999,300

我跑了我知道它是有效的,但为什么?这个叫什么?

解决方法 这是因为arr [n] == *(arr n).

但是,由于加法是可交换的,*(arr n)== *(n arr).因此,*(n arr)== n [arr] == *(arr n)== arr [n].

值得一提的是,*(arr n)仍然有点误导.在汇编中它实际上意味着*(arr(n * s))其中s是sizeof arr [0],但这是在封面下,所以你不需要担心.

总结

以上是内存溢出为你收集整理的C反转索引器和数组名称全部内容,希望文章能够帮你解决C反转索引器和数组名称所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1233395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存