c语言数组基础

baidu_36392475 2016-11-13 02:23:09
arr=realloc(arr,(len+extraLen)*4);
for(int k=len;k<len+extraLen;k++){

printf("输入扩展的第%d个整数\n",k+1);
scanf("%d",&arr[k]);
}
之前用malloc申请内存
重新分配内存空间后,从分配前定义的数组后面开始赋值,最后把arr遍历输出,为什么重新分配前的值仍然没变
重新分配后,内存地址不是改变了吗?
...全文
86 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fefe82 2016-11-13
  • 打赏
  • 举报
回复
1. 并不是一定会改变 2. 如果改变了,realloc 会负责拷贝已存在的值。

69,371

社区成员

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

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