24/03/2012, 11:07
|
| | Fecha de Ingreso: noviembre-2010 Ubicación: laudio
Mensajes: 61
Antigüedad: 14 años, 1 mes Puntos: 1 | |
Crear etiquetas autoincrementales con memoria dinámica Buenas tardes a tod@s!
Traigo una cuestión aquí, haber si alguien que sepa más sobre C y el manejo de la memoria dinámica me lo puede resolver...
Es para una asignatura de la universidad, y el tema es el siguiente:
Necesito crear en tiempo de ejecución etiquetas del estilo siguiente:
#etiq1
#etiq2
#etiq3
...
#etiqN
Es para la asignatura de compiladores, un programa que genera código intermedio y, por lo tanto, necesito de instrucciones condicionales y de salto --> por lo que se justifica la existencia de etiquetas (si_falso_ir_a, si_cierto_ir_a, etc).
El profesor nos ha dado pistas de cómo hacer dos funciones: una que cree las etiquetas char* etiqNew() y otra que las libere void etiqFree(char*).
Además, nos ha dicho que se tiene que hacer con memoria dinámica, obviamente, porque para cada llamada a la función etiqNew() nos tiene que devolver una etiqueta diferente y autoincremental: con las funciones malloc() y para liberarlas con free().
El caso es que no sé usar muy bien la memoria dinámica en C (utilicé ADA con listas ligadas para aprender la memoria dinámica).
Alguien me puede echar un cable? Muchísimas gracias!!!!! Y gracias a este foro también! |