0
我有一些問題與指針二維數組宣言,經與指針麻煩2D陣列聲明
我寫下面的一些代碼:
typedef int ptr2di[3][3];
void main()
{
int a[3][3] = { { 1, 2, 3 }, { 4, 5, 6 } };
ptr2di *ptr=&a;
//ptr2di *ptr=a;
cout << a << endl << &a;
}
輸出:
0029F940
0029F940
由此得出結論: a = & a =陣列的基地址。 後來我改變一點點在ptr2di
聲明:
//ptr2di *ptr=&a;
ptr2di *ptr=a;
它有一個錯誤C2440: '初始化':從粗野, 'INT [3] [3]' 轉換爲 'ptr2di(*)'。
所以,這是我的問題,我不明白a
和&a
之間的區別是什麼? 大家可以幫我解釋一下嗎?