Tôi có một câu hỏi về mã này:miễn phí không gian được phân bổ trong c với 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;
Khi tôi không gian miễn phí phân bổ cho struct này, trước khi có tôi để giải phóng con trỏ đến ma trận bên trong struct?
Ví dụ,
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);
Cảm ơn trước
lý do tại sao bạn không thay thế "unsigned long int" bằng phiên bản của trình biên dịch và bao gồm '' –