24小时热门版块排行榜    

查看: 624  |  回复: 4

晏铃520

铜虫 (初入文坛)

[求助] 求助于高手,这个用法我么用过!

.....  
   for(i=0;i<8;i++)
         {
          printf("%d\n",i[a]);  //求有经验者指教 一下“i[a]”何解!(a为数组名)
         }
      .....
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

Iwillchangemylifejustforyou.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
试一下就知道了,i[a]就是a
这是种变态的写法,炫耀技巧而已
2楼2013-07-18 20:43:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

goldfox_79

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
就如2楼说的,i[a]等效于a,写个程序试下就知道效果了,我用linux没法使用论坛的网盘上传图片

其实也好理解,在做数组转换时,比如a,其实是在找"a+i"对应地址存放的数据值,这样的话编译器把i[a]也解释为"i+a",最终效果等效,反正我是这么理解的
熊猫军,前进!
3楼2013-07-18 21:48:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

晏铃520

铜虫 (初入文坛)

引用回帖:
3楼: Originally posted by goldfox_79 at 2013-07-18 21:48:38
就如2楼说的,i等效于a,写个程序试下就知道效果了,我用linux没法使用论坛的网盘上传图片

其实也好理解,在做数组转换时,比如a,其实是在找"a+i"对应地址存放的数据值,这样的话编译器把i也解释为&q ...

首先谢谢你们的回答!
其实你们说的我都明白,只是被某人问的一时不知所措!
Iwillchangemylifejustforyou.
4楼2013-07-19 13:46:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
a或者i[a]都会被转化为*(a+i),所以括号里面的两个数位置变一下也不会影响结果。个人觉得这种用法没什么炫技之说,有的时候a[-1]也许更能表达你的意思,为什么不能用呢。
www.cvdelver.com
5楼2013-07-19 15:03:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 晏铃520 的主题更新
信息提示
请填处理意见