¿Qué significa int (*ptr)[3]?

Hola propietario. En primer lugar, existen muchos conceptos confusos al aprender los consejos. Déjame ayudarte a distinguir:

1. int(* p)[3]; -ptr es una variable de puntero (puntero) que apunta a una matriz de enteros unidimensional con tres elementos.

2. int * p[3]; - Defina la matriz de puntero P, que consta de tres elementos de puntero que apuntan a datos enteros (una matriz).

3. int(*)[3];-De hecho, puede considerarse como un tipo de datos. Es decir, el tipo de datos de p definido en el primero (int(*p)[3]).

De hecho, primero hay que fijarse en quién es, es decir, con quién se combina. Por ejemplo, en 1, P se combina primero con *, lo que indica que P es esencialmente un puntero, mientras que p en 2 se combina primero con [3] a continuación, lo que indica que es esencialmente una matriz. Luego, poco a poco, comprenda. Espero que esto ayude. Si tienes alguna duda, puedes volver a preguntarme.