这是我的代码:为什么m [1] - m [0]返回3,其中m是3x3矩阵?
int m[][3] = {
{ 0 , 1 , 2 },
{ 10, 11, 12 },
{ 20, 21, 22 }
};
printf("%d %d\n", m[1] - m[0], m[1][0] - m[0][0]);
?为什么
m[1] - m[0]
回报3
?我知道为什么第二个表达式会返回10
,但是对我来说似乎并不合逻辑1 st。
'm [1]'是'&m [1] [0]'等等。 – immibis
从技术上讲,'m'不是一个3x3矩阵,而是一个数组。 – HelloGoodbye
还没有回答,但是'm [0]'和'm [1]'是*数组*(不是指针)。当数组被用作'-'运算符的操作数时,会产生一个指针值,它指向相应数组的第一个元素。 –