Preguntas finales de programación en lenguaje C para estudiantes de primer año
El núcleo radica en el tipo de p.
La definición es equivalente a
int * p[3]
Aquí p es una matriz que contiene tres elementos, cada elemento es de tipo int *
Por lo tanto
p es un nombre de matriz y no se le puede asignar un valor.
B p[0] es int*, A es el nombre de la matriz bidimensional, que equivale a int **, y los tipos no coinciden.
C a[1][2] es un elemento de A, y su tipo es int, entonces; A[1][2] es int*, que es el mismo tipo que p[0] , por lo que esta asignación es Legal.
d no tiene nada que decir, el error es aún más escandaloso que b, int***, asignado a int*, tipo no coincidente.