鱼C论坛

 找回密码
 立即注册
查看: 5132|回复: 12

a[3]和3[a]有什么区别,C语言发明者允许这样肯定有他的原因,请说出原因

[复制链接]
发表于 2013-5-28 13:58:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
C语言发明者不是傻子,表面上看一样,可这其中有什么深意呢,是为了书写美观?好懂?还是达到的效果不同?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-28 13:58:57 | 显示全部楼层
强烈支持楼主ing……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-28 17:12:48 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 17:48:58 | 显示全部楼层
因为标准要求了
a[3] == *(a+3)
根据小学学到的加法交换律
a+3 == 3+a
所以 *(a+3) == *(3+a)

再次根据 [] 和 *之间的关系
*(3+a) == 3[a]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 17:49:59 | 显示全部楼层
[] 只要求 两个操作数 一个是整型 一个是指针
其他的不做限制 也没必要做限制

评分

参与人数 1鱼币 +3 收起 理由
拈花小仙 + 3 谢谢

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 18:06:18 | 显示全部楼层
我只是路过打酱油的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 18:12:00 | 显示全部楼层
我只是路过打酱油的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 18:17:45 | 显示全部楼层
我只是路过打酱油的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 22:35:17 | 显示全部楼层
:lol目测五楼真相了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-29 08:40:36 | 显示全部楼层
你把C语言编写的a[3]和3[a]编写出来,然后看看转换后的汇编代码。你会发现他们都是地址是一样的。也就是说a[3]和3[a]其实是一样的,只是名字不一样罢了,就比如小甲鱼可以有很多个绰号:小鱿鱼,甲鱼,好色老湿了之类的,但是都是代表小甲鱼本人。
TI~Tp_UUU2_X1DRK~NJOK.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-29 09:09:03 | 显示全部楼层
强烈支持楼主ing……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-29 14:36:47 | 显示全部楼层
感恩无私的分享与奉献 :)我不得不顶了……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-30 09:24:08 | 显示全部楼层
地址a加上3的偏移量跟3加上a的偏移量结果都是一样的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-27 16:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表