社区
C++ 语言
帖子详情
请问一个关于realloc函数的问题
Novice_wen
2005-04-02 07:12:15
void main()
{
int *p;
p=new int[1];
p[0]=1;
p=(int*)realloc(p,2);
p[1]=2;
}
请问,为什么在对p重新分配空间后,原来p[0]的内容就消失了?
...全文
225
10
打赏
收藏
请问一个关于realloc函数的问题
void main() { int *p; p=new int[1]; p[0]=1; p=(int*)realloc(p,2); p[1]=2; } 请问,为什么在对p重新分配空间后,原来p[0]的内容就消失了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Novice_wen
2005-04-03
打赏
举报
回复
为什么说p[1]=2这样操作是错的?
Novice_wen
2005-04-03
打赏
举报
回复
哦,原来是这样啊。
MagicCarmack
2005-04-03
打赏
举报
回复
p=(int*)realloc(p,2);
int是4个字节的,新分配的只有两个字节,当然出问题了
arrowcy
2005-04-02
打赏
举报
回复
实际上这是你的操作p[1]=2都是错误的
在使用内存分配函数时,最好使用 sizeof(类型)*个数 来指定内存大小,这一方面可以避免上面你犯的那种错误,另一方面还可以增强程序的可移植性
arrowcy
2005-04-02
打赏
举报
回复
p=(int*)realloc(p,2);
int是4个字节的,新分配的只有两个字节,当然出问题了
纪俊
2005-04-02
打赏
举报
回复
同意chunhai12(苦行僧)的代码
kobefly
2005-04-02
打赏
举报
回复
你第二次分配的时候,比第一次还少!
第2个参数,应该是字节数,也就是2×sizeof(int) == 8
chunhai12
2005-04-02
打赏
举报
回复
void main()
{
int *p;
p = new int[1];
p[0] = 1;
p = (int*)realloc(p, sizeof(int)*2);
p[1] = 2;
delete[] p;
}
zjlxysunman
2005-04-02
打赏
举报
回复
p = (int *)realloc(p , sizeof(int) * 2);
lw1a2
2005-04-02
打赏
举报
回复
什么编译器?
顶刊复现配电网两阶段鲁棒故障恢复研究(Matlab代码实现)
【顶刊复现】配电网两阶段鲁棒故障恢复研究(Matlab代码实现)
GBT3098.5-2025 紧固件机械性能 自攻螺钉-可搜索
GBT3098.5-2025 紧固件机械性能 自攻螺钉_可搜索.pdf
基于segmentation_models_pytorch开源模型库与自定义模型支持的大尺寸遥感影像语义分割与地物分类项目_使用GDAL进行栅格与矢量数据处理_通过yml配置文件.zip
基于segmentation_models_pytorch开源模型库与自定义模型支持的大尺寸遥感影像语义分割与地物分类项目_使用GDAL进行栅格与矢量数据处理_通过yml配置文件.zip
TypeScript类型系统与全栈项目
ts-type-challenges(TS 类型体操标杆,条件 + 映射 + infer 全覆盖),包含 100 + 实战题:内置工具类型实现、分布式条件、自定义 DeepReadonly/DeepPartial、模板字面量类型,配套练习答案,VIP 级类型编程素材。
考虑不确定性的含集群电动汽车并网型微电网随机优化调度研究(Matlab代码实现)
考虑不确定性的含集群电动汽车并网型微电网随机优化调度研究(Matlab代码实现)
C++ 语言
65,212
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章