c - 传递数组第一个元素的地址时,为什么要写&Array[0]而不是Array?

标签 c arrays

在我发现的许多代码示例中,如果必须将数组传递给函数,它们会使用“&Array[0]”。有什么理由这样做吗?他们可以简单地写成“Array”。

最佳答案

这是一个纯粹的风格问题,你应该按照你的开发团队喜欢的方式去做。我个人喜欢使用普通的 Array,如果我想偏移 n 元素,我会使用 Array + n。但有些人发现这令人困惑并使用 &Array[n],即使 n == 0 也是如此。

为另一方辩护,Array + n 语法要求您对 C 了解更多才能理解它。它涉及退化为指针的数组,以及指针算术。但在我看来,C 程序员无论如何都需要了解所有这些东西,它不是一门复杂的语言。

关于c - 传递数组第一个元素的地址时,为什么要写&Array[0]而不是Array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22978019/

相关文章:

c - 求两个三位数乘积的最大回文数问题

c - 使用制表符问题在 C 中输出位置

c++ - 位域,为什么特定于实现?

在 C 中用 long double 计算 pi

c - 将数组传递给 void 函数

c - 在 C 中使用 strtok 拆分具有多个定界符的字符串

javascript - 为什么带有数组的 'for(var item in list)' 在 JavaScript 中被认为是不好的做法?

JAVA类数组

javascript - Reduce 方法以计算具有特定键的对象值

c - "array of pointers"中指针的初始值是多少?