Array de punteros en C

Iniciado por juligarc10, 1 Octubre 2019, 12:30 PM

0 Miembros y 1 Visitante están viendo este tema.

juligarc10

Hola amigos, estoy diseñando un pequeño programa en C, que tiene varios comandos sencillos.
No hay ningún problema con ninguno de ellos, excepto con uno, que tiene devolverme los comandos que se han introducido por teclado históricamente. Sería valga la redundancia, como una especie de historial. Pero ojo, debe almacenar tanto los comandos que existen en el programa, como los que no existen y se meten erróneamente por por teclado.
Esto lo quiero resolver con un array de punteros, de forma que cada vez que se introduzca algo por teclado, de manera que con cada vez que se introduzca algo diferente, un nuevo puntero del array apunte a la direccion de memoria de ese comando.
Mi problema es que no se como hacer nada de punteros, ni de array de punteros. Alguien podría echarme una mano y explicarme como sería el procedimiento?

ThunderCls

#1
Hola, no se si has resuelto tu duda, por si acaso aqui te dejo alguna idea.

En C una string es un array de chars con un caracter de fin '\0'. En tu caso si necesitas mantener un "historial" de cada comando (string), con un array de char de dos dimensiones tendrias tu contenedor, algo como:

char historial[][MAX_CAPACITY] = {0};

El problema con lo anterior es que debido a la naturaleza de lo que deseas hacer, nunca vas a saber de antemano la maxima capacidad de tu historial. Aqui tienes que decidir dos cosas, una seria ponerle un limite maximo a la cantidad de comandos que se almacenaran en tu historial e ir sobreescribiendo los mas viejos con los nuevos, o simplemente usar memoria dinamica y hacer tu historial ilimitado. En el segundo caso necesitas implementar un array dinamico para lo que usarias las funciones malloc/calloc/realloc/free.

https://eddmann.com/posts/implementing-a-dynamic-vector-array-in-c/

Saludos
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

juligarc10

Muchas gracias por tu contestación.

Mi problema ya lo había resuelto, y fue usando una matriz, en la cual, en cada fila se almacena un comando distinto, de esa manera siempre tengo acceso a todos los comandos que he introducido.

De todas formas, gracias:  ;D