我不明白如何为另一个结构内的结构数组动态分配内存。如在这里是我的问题...我有一个project.c文件,其中包含主,我有另一个polynomial.c文件,处理所有的聚合操作,如添加条款,乘以数字等多项式..动态内存分配结构中的数组,
这是polynomials.h
typedef struct term{
int coeff;
int expo;
} TERM;
typedef struct polynomial {
int size;
// This needs to be changed to calloc.. not sure how within a struct
TERM terms[20];
} POLYNOMIAL;
...
...
I,其用于动态聚阵列分配内存我project.c文件内也有这样的头文件。
POLYNOMIAL *polynomials = (POLYNOMIAL *)malloc(sizeof(POLYNOMIAL) * 8);
// 8 being the max number of polynomials I wan to store
我在这里有两个问题,何时以及如何动态地为术语数组分配内存?我在想也许要做一个指针,该指针持有一个空的数组项的calloc内存。这将在程序开始时完成,但在多项式分配之后(我认为)。
另一个问题,现在当我释放内存时,应该在程序结束前完成,然后退出,我释放的顺序应该是自下而上的,对吗?换句话说,释放术语数组然后释放多项式数组。
在这一点上任何提示或指导将有所帮助。谢谢!
这符合他为他做功课的资格。难道不是为了解决这个问题而不是更好,而是让他不用为他做出解决方案? – 2012-04-05 22:20:52
什么时候应该调用*条件calloc? – Hall9 2012-04-05 22:21:19
最重要的是你正在使用的多项式指向有效的指针,否则你不能分配它们的成员。 – Jack 2012-04-05 22:22:05