realloc的小疑问

anguswdm 2011-02-26 07:41:37
比如说:
char* p=(char*) malloc( sizeof(char)* 10);
memset(p, 0, 10);
p=(char*)realloc(p, 20);

第一个p可以用memset初始化,
请问第二个P后面刚分配的那些内存如何初始化呢?
...全文
77 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称很不好取 2011-02-26
  • 打赏
  • 举报
回复
char* p=(char*) malloc( sizeof(char)* 10);
memset(p, 0, 10);
p=(char*)realloc(p, 20);
memset(p+10,0,20-10); //只清空后面部分
anguswdm 2011-02-26
  • 打赏
  • 举报
回复
但是我第一次赋值了怎么办?
比如说第一次
p="adfsdf";
第二次的再用memset不就清空了吗?
[Quote=引用 1 楼 thefirstz 的回复:]
再用一次
[/Quote]
昵称很不好取 2011-02-26
  • 打赏
  • 举报
回复
再用一次

64,680

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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