<分区>
a[i]
和 *(a + i)
都访问数组 a
的第 i
个元素>.
是否有理由偏爱其中一个(性能、可读性等...)?
<分区>
a[i]
和 *(a + i)
都访问数组 a
的第 i
个元素>.
是否有理由偏爱其中一个(性能、可读性等...)?
最佳答案
从语言的角度来看,两者都不是更好,因为它们是相同的,数组索引应该只是指针运算的语法糖。我们可以从 draft C99 standard 中看出这一点6.5.2.1
数组下标 部分说(强调我的):
[...]The definition of the subscript operator [] is that E1[E2] is identical to (*((E1)+(E2))).[..]
尽管对于阅读您的代码的其他人来说,a[i]
可能更具可读性。
关于c - 使用 a[i] 和 *(a + i) 有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21887169/