C++中的两种类型的矩阵输出

Two types of matrix output in C++

本文关键字:输出 两种 C++ 类型      更新时间:2023-10-16

我在不同的编译器中尝试了很多次,但都得到了相同的结果。我的问题是:

在C++中,给定int a[10];作为a的声明,则a[0]0[a]的含义相同。我声称:

cout << a[0]; 

与相同

cout << 0[a];

请向我解释为什么a[i]与C++中的i[a]相同,其中i是一个整数。

因为数组索引操作在内部被解释为*(a+i)

假设我声明一个数组:int a[10];现在a表示数组在内存中的开头的某个内存地址,您可以将索引视为该内存地址的偏移量。

因此,当将索引运算应用于数组时,其值定义如下:a[i] = *(a+i)通过加法的交换性质,您可以看到a[0] = 0[a],因为语言是如何定义索引运算的。