Un puntero de matriz es un puntero a la dirección de una matriz, ¿verdad?
Correcto.
Un puntero de matriz es un puntero que apunta a una dirección de matriz, y su esencia es un puntero; una matriz de punteros es una matriz cuyos elementos de matriz son punteros (por ejemplo, int *p[4], p[ 0], p[1] están definidos, p[2], p[3] son tres punteros), su esencia es una matriz. El uso de punteros de matriz es muy similar al de las matrices de punteros en algunos casos, así que preste atención a las diferencias.
p es una variable de puntero que apunta a una matriz unidimensional que contiene 4 elementos int. En este momento, el incremento de p se basa en la longitud de la matriz unidimensional a la que apunta.
*(p+i) es la dirección de la matriz unidimensional a[i][0]; *(p+2)+3 representa la dirección de a[2][3] ( la primera línea es la línea 0), la primera columna es la columna 0), *(*(p+2)+3) representa el valor de a[2][3].
Información ampliada:
Solo se pueden utilizar los siguientes cuatro tipos de valores para inicializar o asignar un puntero:
1. Por ejemplo, se puede obtener un objeto constante entero o una constante literal 0 con un valor de 0 en el momento de la compilación.
2. La dirección del objeto cuyo tipo coincide.
3. La siguiente dirección de otro objeto.
4. Otro puntero válido del mismo tipo.
Materiales de referencia:
Enciclopedia Baidu-Pointer Array