ptr +---+ +-----------+ | *-|------> | || || || | +---+ +-----------+ ptr == puntero (*ptr) == regitro con campos (*ptr).campo ~~ ptr->campo ========================== void* GLOBAL_secreto = & <<< memoria dinamica >>>; /// Retorna un puntero a un bloque de memoria dinámica de tamaño \c n void* malloc( unsigned n); /// Retorna a la memoria dinámica el bloque de memoria \c ptr. void free( void* ptr ); ptr +---\ +---+ | +-+-----------+ | *-|------+ |#| || || || | +---+ +-+-----------+ ptr == puntero (*ptr) == regitro con campos (*ptr).campo ~~ ptr->campo ptr = new TBanana[n]; // ptr = malloc( n * sizeof( TBanana) ); delete [] ptr; // free( ptr );