我正在编写一个函数来增加使用 malloc 创建的动态内存对象的大小。该函数应该作为参数接受一个指向要增加的内存块的指针、块的当前大小以及要增加的块的数量。
像这样的东西:
int getMoreSpace(void **pnt, int size, int add) {
xxxxxx *tmp; /* a pointer to the same as pnt */
if (tmp = realloc(pnt, (size+add)*sizeof(xxxxxx))) { /* get size of what pnt points to */
*pnt=tmp;
return 1;
else return 0;
}
问题是无论 pnt 指向什么,我都希望该功能正常工作。我该如何做到这一点?