Ayuda con vectores de estructuras dinamicas
Publicado por David Barrientos Velasco (2 intervenciones) el 29/09/2004 19:25:00
Muchahos (as):
Necesito que alguien me ayude con el codigo para asignar vectores dinamicos a una estructura. La idea es la siguiente:
Me pidieron que haga una simulador de shell en UNIX para crear eliminar y recorrer directorios y archivos, al principio me dijeron que un directorio podia aceptar solo diez subdirectorios. Mi estructura era la siguiente:
struct Directory
{
char name[25];
int num_dir; //cuantos directorios exiten en la actualidad
struct Directory *parent;
struct Directory *subdir[10];
};
Pero ahora me piden que ya no restrinja a 10, que lo haga dinamicamente, entonces ahora mi estructura es
struct Directory
{
char name[25];
int num_dir;
int size; //tamanio de bloque de memoria para los punteros
//*subdir
struct Directory *parent;
struct Directory *subdir;
};
Y le estoy asignando ha subdir=10*sizeof(struct Directory), y cuando se llena le aumento subdir=realloc(currentDir->subdir,2*currentDir->size), pero no logra acceder al vector *subdir[0],*subdir[1], ....
El compilador me saca error, por favor si alguien me puede ayudar le agradeceria mucho.
Atentamente DAVID
Necesito que alguien me ayude con el codigo para asignar vectores dinamicos a una estructura. La idea es la siguiente:
Me pidieron que haga una simulador de shell en UNIX para crear eliminar y recorrer directorios y archivos, al principio me dijeron que un directorio podia aceptar solo diez subdirectorios. Mi estructura era la siguiente:
struct Directory
{
char name[25];
int num_dir; //cuantos directorios exiten en la actualidad
struct Directory *parent;
struct Directory *subdir[10];
};
Pero ahora me piden que ya no restrinja a 10, que lo haga dinamicamente, entonces ahora mi estructura es
struct Directory
{
char name[25];
int num_dir;
int size; //tamanio de bloque de memoria para los punteros
//*subdir
struct Directory *parent;
struct Directory *subdir;
};
Y le estoy asignando ha subdir=10*sizeof(struct Directory), y cuando se llena le aumento subdir=realloc(currentDir->subdir,2*currentDir->size), pero no logra acceder al vector *subdir[0],*subdir[1], ....
El compilador me saca error, por favor si alguien me puede ayudar le agradeceria mucho.
Atentamente DAVID
Valora esta pregunta


0