我想使代码更加高效。我有类似于这样的代码:
typedef struct{
...
}MAP;
MAP* pPtr=NULL;
MAP* pTemp=NULL;
int iCount=0;
while (!boolean){
pTemp=(MAP*)realloc(pPtr,(iCount+1)*sizeof(MAP));
if (pTemp==NULL){
...
}
pPtr=pTemp;
...
iCount++;
}
内存是动态分配的。我希望减少realloc函数的调用次数,以使代码更加高效。我想知道如果新的大小与旧的大小相等,realloc函数会如何表现。它会被简单地忽略吗?
(iCount + 1) * sizeof(MAP)
看起来至少更美观... - alkrealloc
来重新定位已分配空间,以便更轻松地进行未来的分配。 - Keith Thompson