请帮我看看这个吧,我纠结好久了

这个地方要求一个能表示 t 的地址的表达式

int main(void)
{
    int k, t[3][2], *pt[3];
        
    for ( k = 0; k < 3; k++) {
        pt[k] = t[k];
        }
                
    return 0;
}

A.
&t[3][2]
B.
*pt[0]
C.
*(pt+1)
D.
&pt[2]
说实话,我觉得都是错的

A,这都越界了
B,pt[0]里存的是t[0]的地址,解地址一次变成t[0][0]的值,不是地址
C也是错的,pt是指针数组的地址,它+1变野指针了
D也不对,pt[2]本身已经是t[2]的地址了,它再取地址又出野指针了
-=-=-=
另,如果不深究每个星号和地址符到底干什么的,光看下标就能排除ACD了,t的地址好歹得是t[0][0]的地址,不能是t[3][2]的地址吧

应该是&t[0][0]和*pt。
t和pt都是数组,获取他们的地址,用数组的第一个元素获取。