这个形式是正确的,这是由于数组下标的指针定义, 即对于任何两个表达式a 和e, 只要其中一个是指针表达式而另一个为整数, 则a[e] 和*((a)+(e)) 完全一样
如果定义char a[] = "abcdef"
即5["abcdef"] 的值等价于"abcdef"[5],a[5]、5[a]
建议这种表达式还是不要用到你的正式代码中,呵呵
本文解析了数组下标与指针的关系,阐述了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]
建议这种表达式还是不要用到你的正式代码中,呵呵