un array è un puntatore al suo primo elemento che viene allocato sul momento quindi:
corrisponde a:codice:int array[5];
se tu faicodice:... int* array; ... array = (int*) malloc(5*sizeof(int));//in C ma funzia anche in C++ array = new int[5];//solo in C++ ...
ottieni l'indirizzo dell'array stesso, ovvero l'indirizzo della cella puntatore che contiene l'indirizzo della cella a cui punta, quindi ottieni un puntatore a puntatore:codice:&array
Quindi alla funzione passi direttamente array e come tipo di ritorno fai un puntatore, nel caso dell'esempio int*.codice:int** pTop = &array;//array è un array(ovvero un puntatore al 1° elemento)
![]()

Rispondi quotando