首先我申请了长度为10的空间
int p
p=(int)malloc(10*sizeof(int));
我想把长度延长为20 且原来的数据要保留
p=(int*)realloc(p,a*sizeof(int)); 这个a应该是10 还是 20
感谢各位大神解答
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

首页/
已采纳
C语言realloc函数小问题
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
凝视深空 2016-10-09 04:45关注C语言 realloc() 函数位于 stdlib.h 头文件中,其原型为:
void *realloc(void *ptr, size_t size);
设之前内存块的大小为 n,如果 size < n,那么截取的内容不会发生变化,如果 size > n,那么新分配的内存不会被初始化。
所以你这里应该是20本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-07-31 05:57回答 1 已采纳 str必须是动态分配的内存才能realloc。str.str = (char *)malloc(10); realloc后不需要freestr->str = newbase; 这个也不需要
- 2023-04-18 12:11回答 3 已采纳 问题出在Add函数中,每次添加联系人时,使用了con->data[con->sz]来存储新的联系人信息,但是在Check函数中,如果需要扩容,重新分配了内存空间,此时con->dat
- 2019-10-04 12:32回答 1 已采纳 https://blog.csdn.net/update7/article/details/60335689 https://blog.csdn.net/qq_40600537/article/de
- 2022-04-23 10:09_麦子熟了的博客 有时我们觉得我们用malloc,calloc函数申请的动态内存空间太大了,有时觉得申请的空间太小了,为了合理使用内存,我们要对内存的大小做灵活的调整,那么realloc函数就可以做到控制动态内存开辟的大小。 一、认识...
- 2021-09-07 08:45回答 3 已采纳 有帮助望采纳 #include <stdio.h> // #include <math.h> #include <memory.h> int main() {
- 2017-08-04 01:39回答 2 已采纳 题目中的这个现象属于典型的 **未定义行为** (undefined behavior),也称为不确定行为。 realloc函数会根据传入的参数尝试重新分配内存,可能成功,也可能失败。 即使
- 2021-09-03 02:33回答 2 已采纳 在UpdateDA函数中,传入的是head指针,函数中操作的也是指针,相当于传值操作,所以UpdateDA函数调用完成后,外面的head没有发生改变。有两种该法,一是:把void UpdateDA(e
- 2024-05-27 08:14学习中__编程的博客 malloc函数用于改变malloc申请的空间大小,即可以进行放大和缩容,从而对空间进行合理应用。
- 2023-02-18 13:12回答 4 已采纳 基于Monster 组和GPT的调写:,seqlistprint 函数中有一个小错误。在输出数组元素时,你没有使用正确的格式化字符串,因此结果是错误的。 将 printf("%d,ps->a[i
- 2022-11-29 07:59回答 3 已采纳 三角和反三角函数再加上,代码改动量比较大链栈的话,需要改数据结构,大体如下:链表栈计算器代码: #define _CRT_SECURE_NO_WARNINGS 1 #include <stdi
- 2022-05-23 05:49回答 1 已采纳 下面是我的理解,供参考:用一个char指针保存description之前的值,然后当description再次指向新的分配内存后,如果内存分配失败,就用free函数释放这个char指针指向的内存块。(
- 2024-04-03 21:30Jason_from_China的博客 realloc` 可以调整内存块的大小,如果新的大小比原来小,那么内存块可能会被移动。`realloc` 返回一个指向调整大小后的内存块的指针。如果调整大小失败,则返回 `NULL`。在使用这些函数时,应当总是检查返回的指针...
- 2021-07-14 13:57在C语言中,`realloc()`函数是一个非常重要的内存管理函数,它允许我们改变已经通过`malloc()`或`calloc()`分配的动态内存块的大小。在深入理解`realloc()`之前,我们先来回顾一下C语言中的内存管理和基本的内存分配...
- 2024-07-18 23:50极客代码的博客 第一部分:realloc函数的基本概念和用法 1.1 realloc函数的定义 realloc函数是C语言标准库中的一个内存管理函数,用于重新分配内存块的大小。在C语言中,使用malloc函数分配的内存块大小是固定的,如果需要改变内存...
- 2021-05-21 21:07realloc函数是C语言中一个非常重要的函数,它用于重新分配内存块的大小,以满足程序运行的需求。下面是对realloc函数的详细说明和注意要点。 realloc函数简介 realloc函数的原型为`extern void *realloc(void *mem...
- 2024-05-30 09:39A_G_L的博客 在我们知道realoc函数之前相信大家都已经了解malloc函数了,malloc函数是一个动态分配内存的函数。当我们用mallco函数申请内存时有时候会太大,有时候会太小,这时我们就要用realloc函数来合理的运用空间内存了。
- 2023-10-30 08:12修修修也的博客 C语言动态开辟库函数realloc()函数的功能,参数,返回值,具体使用及realloc()函数异地扩容详解.
- 2022-07-25 03:30爱算法的喵酱的博客 realloc常见陷阱
- 2022-03-30 13:27HYT-TYH的博客 重新分配内存空间(当一开始申请的内存不够时,需要再增加内存则可以用realloc()函数实现) 用memcpy实现 #include<stdio.h> #include<stdlib.h> #include<string.h> int main(){ int *p=...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司