Declarar una matriz de punteros

Int *p[3] p es una matriz con tres elementos. El tipo de cada elemento es int *, que es el tipo de puntero a datos enteros.

int a=10, b=20, c = 30

int * p[3]= {amp;one,ampbamp;c};

p en int(*p)[3] es un puntero que apunta a una matriz que contiene tres elementos de tipo int. Por ejemplo:

int a[3]={1, 2, 3}; entonces p es el puntero de esta matriz a.

int(* p)[3]= amp; //La asignación aquí debe utilizar notación de dirección. Es decir, obtenga la dirección de la matriz a.

No se puede asignar un valor como este: int(* p)[3]= a; //Error: tipos incompatibles. Originalmente es un tipo de matriz y no se puede asignar al tipo int(*)[3].

Pero es posible int * p 1 = a; // ok, porque A se puede convertir implícitamente al tipo int*, por lo que su valor es en realidad la dirección del primer elemento de la matriz, que es ; a[0]

En pocas palabras, el siguiente ejemplo:

int * p[5];

int(* p 1)[5] ;

int p2[5];

p 1 = amplificador p2;