這是我的代碼:爲什麼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]'是*數組*(不是指針)。當數組被用作'-'運算符的操作數時,會產生一個指針值,它指向相應數組的第一個元素。 –