Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con Struct

Estas en el tema de Problema con Struct en el foro de C/C++ en Foros del Web. Buenas tardes a todos, estoy con un ejercicio de la universidad y no logro entender por qué me sale un error al compilar. Tengo una ...
  #1 (permalink)  
Antiguo 06/11/2010, 12:15
 
Fecha de Ingreso: diciembre-2005
Mensajes: 39
Antigüedad: 18 años, 4 meses
Puntos: 0
Problema con Struct

Buenas tardes a todos,

estoy con un ejercicio de la universidad y no logro entender por qué me sale un error al compilar. Tengo una estructura con el campo tamaño. Intento imprimir la variable y me salta el error "dereferencing pointer to incomplete type".

Lo delcaro así en el main.

struct listaArchivos *archivos = ((struct listaArchivos*)malloc(sizeof(struct listaArchivos*)));

Y así lo imprimo en el mismo main.

printf ("%d", archivos->tamano);

¿Alguien me puede decir por qué falla?

Gracias.

Edit. Perdón, no había añadido la cabecera donde definía la struct :P Ya está solucionado.

Última edición por dano88; 06/11/2010 a las 12:31 Razón: Solucionado
  #2 (permalink)  
Antiguo 06/11/2010, 16:06
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Problema con Struct

En Malloc va la cantidad de memoria que queres reservar. Por lo tanto tenes que calcular el tamaño de la estructura no del puntero a la estructura.
Asi:
struct listaArchivos *archivos = ((struct listaArchivos*)malloc(sizeof(struct listaArchivos)));
  #3 (permalink)  
Antiguo 07/11/2010, 12:21
 
Fecha de Ingreso: diciembre-2005
Mensajes: 39
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Problema con Struct

Cita:
Iniciado por sam90 Ver Mensaje
En Malloc va la cantidad de memoria que queres reservar. Por lo tanto tenes que calcular el tamaño de la estructura no del puntero a la estructura.
Asi:
struct listaArchivos *archivos = ((struct listaArchivos*)malloc(sizeof(struct listaArchivos)));
No, estaba bien. De hecho lo compilo con -Wall y no me salta ningún warning. El error era que no importaba la cabecera donde definía la struct.

Muchas gracias por tu respuesta.
  #4 (permalink)  
Antiguo 09/11/2010, 10:19
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Problema con Struct

sam90 tiene razon, debes reservar memoria suficiente para guardar lo que sea que tengas en tu estructura, no solo para el apuntador ¬¬.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:05.