tengo este codigo que me da porblemas:
typedef struct {
char cidade[20];
double datos[365];
int n_datos;
}T_TEMP;
struct T_TEMP *espacio;
espacio=(struct T_TEMP*)malloc(n*sizeof(struct T_TEMP));
return(*espacio);
cuando quiero asignarle un espcio de memoria a "espacio",el programa me dice "error: invalid application of ���sizeof��� to incomplete type ���struct T_TEMP��� "
alguien me puede decir cual es m fallo.
Cuando haces typedef estas creando un nuevo tipo entonces no debes poner struct para declara una variable de ese tipo ni hacer un casting a ese tipo.
Es decir, puedes hacer:
typedef struct {
char cidade[20];
double datos[365];
int n_datos;
}T_TEMP;
T_TEMP *espacio;
espacio
=(T_TEMP
*)malloc(n
*sizeof(T_TEMP
)); return(*espacio); //Que sepas que seguramente esto no es lo que realmente quieres hacer pero tampoco lo se si no veo el contexto
Otra manera seria esta:
struct T_TEMP{
char cidade[20];
double datos[365];
int n_datos;
};
struct T_TEMP *espacio;
espacio
=(struct T_TEMP
*)malloc(n
*sizeof(struct T_TEMP
)); return(*espacio);