malloc与realloc的问题

zhoory 2003-08-30 10:55:53
在顺序线性表中,当已有的size不能够满足insert时,我们需要使用realloc为其增加空间,
程序为:
newbase = (elemtype*)realloc((Initsize+incresize)*sizeofelemtype));
if(!newbase) exit(1);
myList.elem = newbase;//elem是myList中的一个数据项为:elemtype* elem
;
......
不知可以可以这样写:
myList = elemtype*)realloc((Initsize+incresize)*sizeof(elemtype));
为什么呢?
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoory 2003-09-04
  • 打赏
  • 举报
回复
void *realloc(void *ptr, unsigned newsize);
并且
myList = elemtype*)realloc(mylist,(Initsize+incresize)*sizeof(elemtype));
是可以的
jeary2210 2003-08-31
  • 打赏
  • 举报
回复
我不太主张用realloc
hermitma 2003-08-31
  • 打赏
  • 举报
回复
realloc()的函数原型是 void *realloc(void *p, unsigned size)
他的功能是将p所指出的已分配内存区的大小改为size. size可以比原来分配的空间大或小。
bm1408 2003-08-31
  • 打赏
  • 举报
回复
用法不对!

在有足够空间的情况下是不会破坏原来MALLOC的空间的!
lyff8neo 2003-08-30
  • 打赏
  • 举报
回复
realloc是不会破坏原来的数据结构的吧,是么?我记得不大清楚了!
idontlikenickname 2003-08-30
  • 打赏
  • 举报
回复


realloc()好像不是你这么用的吧?
原型应该是:void *realloc(void *ptr, unsigned newsize);


69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧