Tengo una pregunta acerca de este código:libre el espacio asignado en C con malloc
typedef struct pop {
unsigned long int *np; // matrix
unsigned long int f;
long double fp;
unsigned long int *R; // matrix
unsigned long int *C; // matrix
unsigned long int Dp;
unsigned long int Ds;
unsigned long int count;
struct popolazione *ptrTempLst; // pointer
struct popolazione *leftTree; // left tree pointer
struct popolazione *rightTree; // right tree pointer
} Node;
Cuando el espacio libre asignado a esta estructura, antes he de liberar puntero a la matriz dentro de estructura?
Por ejemplo,
Node *ptr=(Node *) malloc(sizeOf(Node));
ptr->np=(unsigned long int *)malloc(10*sizeOf(unsigned long int));
/*code code code*/
// is necessary: free(ptr->np);
free(ptr);
Gracias de antemano
¿por qué no reemplaza "unsigned long int" con la versión del compilador e incluye '' –