有程序实现对零件的:插入,更新数量,输入价格,输入数量等功能
现要求修改结构数组,从之前的提前确定数组长度,改为malloc动态分配,并在数组满了之后,用realloc增加分配的内存。
为了便于测试,我先为数组分配了1倍于struct part的内存如下:
int max_parts==1;
strcut part *inventory;
inventory=malloc(max_parts*sizeof(struct part));
我理解的是,如果我输入一个零件的信息(编号名字数量价格等)后,此次动态分配的地址就会被填满。事实却不是这样,当我输入两个零件的信息的时候,仍旧正常显示,第三个零件后,才出现问题:零件名和编号是正确显示的,而数量这一项是一个超大的值。价格是0.00。
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

首页/
已采纳
关于C语言中动态分配问题
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
4条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
lucyhit 2018-04-29 11:55关注如果要细致分析你程序的表现,你目前提供的信息不够,要贴上完整的程序,才能找到写入数据的区域怎样被更新了.
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2018-04-29 00:50回答 1 已采纳 https://ask.csdn.net/questions/686858 只要回答排在前面,不管是灌水还是抄袭,lz都会采纳?那么还回答个什么劲啊。
- 2022-03-05 23:14回答 1 已采纳 参数用二级指针
- 2021-05-19 15:10回答 2 已采纳 这些代码没错。注释里的代码有问题。需要: free(*num);
- 2021-01-19 22:53\在C语言中,全局变量分配在内存中的静态存储区,非静态的局部变量(包括形参)是分配在内存的动态存储区,该存储区被称为栈。除此之外,c语言还允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必
- 2019-07-15 13:49回答 2 已采纳 函数指针是指向函数指令的入口地址的指针,指令位于代码区。 函数的参数放在数据区的堆栈上。 好比一个是你的课本,上面有题目 一个是你的作业本,你在上面写作业 根本是两个东西。 还有一个是将
- 2023-02-26 03:38回答 2 已采纳 可以这样被结构体指针接收,但因为没分配内存空间,指针无法访问结构体的数据。这就是CreatTree函数要做的事情,需要给这个结构体指针动态分配内存空间
- 2021-09-07 08:45回答 3 已采纳 有帮助望采纳 #include <stdio.h> // #include <math.h> #include <memory.h> int main() {
- 2018-06-21 04:57吉大秦少游的博客 很多人在编写C语言代码的时候很少使用动态数组,不管什么情况下通通使用静态数组的方法来解决,在当初学习C语言的时候我就是一个典型的例子,但是现在发现这是一个相当不好的习惯,甚至可能导致编写的程序出现一些...
- 2021-01-08 13:29回答 7 已采纳 对于第二个问题可以分为两个子问题来回答。 1) 可以用sizeof获取数组大小吗? 可以也不可以。数组本质上只是连续存储空间在内存中起始点的标识,C语言中数组是可以获取大小的,但数组可以隐式退化为
- 2017-05-06 22:58回答 6 已采纳 col在哪里定义的,是常数么? 如果不是,不能这么写 可以写int *a = (int *) malloc(col * sizeof(int));
- 2021-08-08 15:20回答 4 已采纳 动态内存分配,C语言动态内存分配详解 你可以参考如下链接: http://c.biancheng.net/view/223.html http://c.bi
- 2024-10-26 03:48内存管理是C语言中的一项重要技能。通过理解和使用C语言提供的内存管理函数,程序员可以有效地控制程序的内存使用,提高程序的性能和稳定性。同时,避免内存管理错误是确保程序健壮性的关键。通过本文的介绍,希望...
- 2024-03-25 07:11GOATLong的博客 动态内存分配易出现的问题 1.对NULL指针的解引⽤操作 编辑 2.对动态开辟空间的越界访问 3.对⾮动态开辟内存使⽤free释放 4.使⽤free释放⼀块动态开辟内存的⼀部分 5.对同⼀块动态内存多次释放 6.动态开辟内存忘记...
- 2022-07-21 01:02不秃也很强的博客 内存管理函数可以按需要动态的分配内存空间,也可把不再使用的空间回收再次利用。
- 2020-12-31 00:51C语言动态内存分配的详解 1.为什么使用动态内存分配 数组在使用的时候可能造成内存浪费,使用动态内存分配可以解决这个问题。 2. malloc和free C函数库提供了两个函数,malloc和free,分别用于执行动态内存分配和...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司