(1)用malloc或calloc函数分配一个能存储10个整型数的存储空间;
提示:p=(int*)malloc(10sizeof(int));
(2)通过scanf函数向(1)中分配的存储空间输入10个整数;
(3)再通过realloc函数将先前分配的空间扩容为可存储20整型数的大小;
提示:p=(int)realloc(p,20*sizeof(int));
(4)向扩容后的空间中再输入另外的10个整数;
(5)用printf函数输入所有的整数;
(6)最后用free函数释放存储空间。
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
C语言中内存分配函数
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
Pliosauroidea 2021-09-07 08:50关注有帮助望采纳
#include <stdio.h> // #include <math.h> #include <memory.h> int main() { int *a = malloc(10 * sizeof(int)); for (int i = 0; i < 10; i++) { scanf("%d", a + i); } a = realloc(a, 20 * sizeof(int)); for (int i = 10; i < 20; i++) { scanf("%d", a + i); } for (int i = 0; i < 20; i++) { printf("%d ", *(a + i)); } free(a); }
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2019-07-15 13:49回答 2 已采纳 函数指针是指向函数指令的入口地址的指针,指令位于代码区。 函数的参数放在数据区的堆栈上。 好比一个是你的课本,上面有题目 一个是你的作业本,你在上面写作业 根本是两个东西。 还有一个是将
- 2021-09-24 09:12回答 2 已采纳 1.初学不是出学2.所有引用的函数,都要引用它的头文件,square函数没引用头文件#include <math.h>
- 2014-12-29 05:25回答 3 已采纳 void指针是什么? void指针一般被称为通用指针或泛指针,它是C关于“纯粹地址(raw address)”的一种约定。void指针指向某个对象,但该对象不属于任何类型。请看下例: i
- 2024-07-27 15:55平凡程序猿~的博客 本文将详细介绍C语言中常用的内存函数,包括内存分配、内存释放、内存拷贝、内存设置、内存移动和内存比较等,帮助读者全面理解并掌握这些基础且重要的内存操作。
- 2021-10-27 04:58回答 1 已采纳 #include <stdio.h> #include <math.h> int main() { int x; double y; printf("请
- 2022-05-11 15:52回答 1 已采纳 #include<stdio.h> int solve(int n) { int flag = 0; while(n) { int t = n %
- 2022-08-26 02:20回答 3 已采纳 首先是要理解指针变量的概念,指针即变量的地址,int *p的时候,已经在内存分配了一块内存的地址,随后使用calloc来分配该块内存的大小。你可以多输入数据,它会依次写入该内存块中,只是在写入第5个地
- 2023-07-25 02:27库库的里昂的博客 我们都知道函数是数学里的重要组成部分,数学中我们常见到函数的概念,但是你了解C语言中的函数吗?其实函数就相当于一个子程序,那什么是子程序呢?在计算机科学中,子程序是一个大型程序中的某部分代码, 由一个或...
- 2017-08-04 01:39回答 2 已采纳 题目中的这个现象属于典型的 **未定义行为** (undefined behavior),也称为不确定行为。 realloc函数会根据传入的参数尝试重新分配内存,可能成功,也可能失败。 即使
- 2021-11-24 02:55回答 2 已采纳 /*编写一个程序,求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n)的值*/ #include <stdio.h> int main() { int i
- 2021-12-08 03:20回答 1 已采纳 #include<stdio.h> int main() { int m,n,temp; int max,a; printf("请输入两个数: "); scanf("%d%d",&m,
- 2022-07-21 01:02不秃也很强的博客 内存管理函数可以按需要动态的分配内存空间,也可把不再使用的空间回收再次利用。
- 2024-07-09 23:10墨松CC的博客 动态内存分配是 C 语言中一项重要的功能,它为程序提供了更大的灵活性和效率,但同时也需要谨慎使用,以避免出现内存泄漏、悬空指针和内存越界等问题。在实际编程中,应该养成良好的编程习惯,及时释放不再使用的...
- 2024-09-25 01:50编程仙尊的博客 我们在处理内存时,内存区域主要分为三块区域,...栈区空间开辟太大可能导致栈溢出因此,我们可以将一些东西存储在堆区中,堆区的空间是本身就存在的,我们要做的就是分配出来并利用这些空间,因此也叫做动态内存分配。
- 2024-08-30 12:15C语言是一种通用的编程语言,由丹尼斯·里奇(Dennis Ritchie)在20世纪70年代早期于美国电话电报公司(AT&T)的贝尔实验室开发。C语言以其高效性、灵活性和可移植性而闻名,它是一种过程式编程语言,提供了对底层...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司