Red de conocimiento informático - Aprendizaje de código fuente - Un puntero de matriz es un puntero a la dirección de una matriz, ¿verdad?

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