<分区>
据我所知,在某些情况下,数组会转换为指向其第一个元素的指针:
int a[5];
int * p;
p = a;
按照这种方法并考虑到我可以将数组分配给指针,为什么我不能将二维数组分配给指向指针的指针?
int a[5][5];
int ** q;
q = a;
但是,我可以将指针数组分配给指向指针的指针:
int * p[5];
int ** q;
q = p;
如果将数组转换为指向其第一个元素的指针,则在第二个示例中发生 q = a 时,a 应该是指向 a[0] 的指针,而 a[0] 应该是指向 a[0] 的指针[0],对吧?
此外,如果我这样做,我不会收到错误:
cout << **a;
提前致谢,希望您能帮助我理解。