c++ - 访问C中的数组元素

标签 c++ c arrays

今天我遇到了一种访问数组元素的不同方式。我只是好奇访问数组元素的正确方法是否正确。

这是我的代码,

#include <stdio.h>

int main(int argc, char* argv[])
{
    int arr[4] = {4, 5, 6, 7};
    printf ("---> %d \n", 2[arr]);
    return 0;
}

以下是输出,

---> 6

我以为程序无法编译,但它确实编译了!我尝试在 Linux 和 Windows 上编译它,并且在两者上都运行良好。专家对此有何看法?

最佳答案

这是有效的,因为表达式 a[b] 相当于 *(a + b),这意味着您可以交换 a 的顺序b,加法无关紧要。

关于c++ - 访问C中的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29623671/

相关文章:

java - java中如何比较数组的特定元素

javascript - 对复杂数组进行分组

c++ - 如何在 bjam 中添加新的编译器开关

c++ - 为什么未指定的 lambda 返回类型并不总是有效?

c - Valgrind 报告 C 代码读取错误

c - 我将如何通过套接字发送位域?

c# - 函数返回一个空的 DataTable,但我可以看到正在导入 "individual"个元素

c++ - 删除数组成员的更好方法是什么?

c++ - 关于 if block 的情况的排他性

c - unix中nice和setpriority的区别