“搞笑”的C数组5["abcdef"]表示方法

本文解析了数组下标与指针的关系,阐述了a[e]与*((a)+(e))的等价性,并通过示例char a[]=abcdef解释了5[abcdef]等价于abcdef[5]的现象。提醒开发者避免在实际代码中使用类似不直观的表达方式。

 

这个形式是正确的,这是由于数组下标的指针定义, 即对于任何两个表达式a 和e, 只要其中一个是指针表达式而另一个为整数, 则a[e] 和*((a)+(e)) 完全一样

 

如果定义char a[] = "abcdef"

即5["abcdef"] 的值等价于"abcdef"[5],a[5]、5[a]

 

建议这种表达式还是不要用到你的正式代码中,呵呵

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值