[C con Clase] Declaración e inicialización de punteros y typedef.

marcelinux marcelinator en gmail.com
Sab Mar 3 08:32:37 CET 2018


El pasado 2018-03-02 14:54:38, Steven Davidson escribió:
 
SD> Hola Marcelinux,
SD> 1. Como ya sabes, sintácticamente un puntero se define con un astersico y
SD> ...
SD> usar 'typedef' para aclararnos; esto es,
SD> typedef int * tipo_array_ptr[7];
SD> tipo_array_ptr *ptr;
SD> Esto es definitivamente mejor cuando queremos crear memoria dinámicamente
SD> usando 'new' o 'new[]'; por ejemplo,
SD> ptr = new tipo_array_ptr[100];

De acuerdo. Entonces, ¿debo hacerlo en "dos veces"?
¿Podría hacerse con un único typedef *(int *)[7] tipo_array_ptr  ?
¿Para usar tipo_array_ptr puntero?
puntero = new tipo_array_ptr;
puntero[0] = &entero[0];
Creo que es demasiado anidamiento para mí (de momento).

SD> 2. Esto no tiene mucho misterio. Solamente necesitas ir poco a poco:
SD> array de 8 elementos:
SD> ¿? array[8];
SD> cada elemento es un array de 7 elementos:
SD> ¿? array[8][7];
SD> que a su vez cada elemento es un puntero a 'int':
SD> int * array[8][7];

typedef int*array[8][7] tipo_array_ptr;
tipo_array_ptr puntero;
puntero[0] = array1;
puntero[1] = array2;
etc.


SD> Espero haber aclarado las dudas.
SD> Steven

Muchísimas gracias.


Más información sobre la lista de distribución Cconclase