1
C / C++ / [C] Estructuras dinamicas
« en: Octubre 07, 2023, 04:36:04 am »
Buenas amigos, he estado practicando C y me encontré con un código en un libro que no he podido compilar... he aquí:
Me da error los free(); y dom.pro=asignpro(); marqué los lugares que no entiendo del código (busque en google pero tampoco encontré.)
No entiendo porque free me da error :S. Gracias de antemano.
Código: C
- /*Asignacion de memoria para arreglo de estructuras.
- Es un curso de duracion de dias, con n alumnos*/
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct{char *nombre;char edad;char*direccion;}PERSONA;
- typedef struct{PERSONA per0;char*habitacion;short npiso;}ALUMNO;
- typedef struct{PERSONA per1;short experiencia;}PROFESOR;
- struct curso{ALUMNO* alu;PROFESOR* pro;char*descripcion;short dias;short n;};
- /*n es el n de alumnos del curso*/
- /*Un curso de perfeccionamiento con varias estructuras en un internado
- de alumnos, cada uno con habitacion en una de las plantas del piso.*/
- /*un alumno es una persona, tiene una habitacion y un n de piso(npiso)*/
- /*un profesor es una persona, tiene años de experiencia*/
- char* lacad(void){
- char b[121];char*ma0;
- return ma0;}
- PERSONA* asignper(void){
- PERSONA* perr;
- else{
- return perr;}
- ALUMNO* asignalu(short n){
- ALUMNO* aluu;int i;
- else{
- for(i=0;i<n;i++){
- (aluu+i)->perr=*asignper();} /*alguien me explica esto..?*/
- (aluu+i)->habitacion=lacad();
- return aluu;}
- PROFESOR* asignpro(void){
- PROFESOR* proff;
- else{
- proff->perr=*asignper();
- return proff;}
- int main(){
- struct curso dom;int j;
- "Descripcion del curso.\n");
- dom.descripcion=lacad();
- dom.pro=asignpro();
- dom.alu=asignalu(dom.n);
- /*Muestra los datos del curso*/
- return 0;}
Me da error los free(); y dom.pro=asignpro(); marqué los lugares que no entiendo del código (busque en google pero tampoco encontré.)
No entiendo porque free me da error :S. Gracias de antemano.