问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言动态开辟内存问题1

发布网友 发布时间:2023-10-25 11:30

我来回答

3个回答

热心网友 时间:2024-11-16 03:34

根据使用函数不同,作用各不相同。共同点均是动态分配一段内存,使用后需要用free函数释放。所有动态分配函数均声明在stdlib.h中。

1 malloc
void *malloc(unsigned int num_bytes);
功能
分配长度为num_bytes字节的内存块

返回值
如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。

说明
关于该函数的原型,在以前malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。

2 calloc
void *calloc(size_t n, size_t size);
在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。
calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。

3 realloc
void *realloc(void *mem_address, unsigned int newsize);
功能
先判断当前的指针是否有足够的连续空间,如果有,扩大mem_address指向的地址,并且将mem_address返回,如果空间不够,先按照newsize指定的大小分配空间,将原有数据从头到尾拷贝到新分配的内存区域,而后释放原来mem_address所指内存区域(注意:原来指针是自动释放,不需要使用free),同时返回新分配的内存区域的首地址。即重新分配存储器块的地址。

返回值
如果重新分配成功则返回指向被分配内存的指针,否则返回空指针NULL。

注意
当内存不再使用时,应使用free()函数将内存块释放。

热心网友 时间:2024-11-16 03:34

k1=k2=(struct Student *) malloc (sizeof(struct Student)); //第一次输入
memset(k1,0,sizeof());
里面有没有字符数组的东西??先初始化一下吧.
别到时候你赋的时候有个东西没赋值,也没初始化,越界了.

另外,你的代码没贴全啊.这程序,你看起来是在fwrite的时候出的问题,但是,出问题的时候有可能是在你之前的一些操作导致的,就比如,输一个学生的名字,char name[15],但你名字输了20个,越界了,之类的,所以,建议把全代码贴下.

热心网友 时间:2024-11-16 03:35

粘全了吧.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 隋唐英雄传中罗成是在哪集战死的60 男孩取名12 某种商品若按标价的9折出售,则可获利20元,若按标价的7折出售,则要亏损... 调发动机点火正时一缸处于上止点,上止点是什么行程? 病症是80岁老人吃饭还可以,手足乱动,整天乱说,大小便不... 手机版本的微信,能不能在笔记本电脑上下载1 我设置过一次了,还能改第二次吗?怎么改 修改一年内如何二次修改吗苹果 你知道肥城市人力资源保障局的具体地址和电话吗?给我发个吧~~...2 VMware虚拟机安装MAC OS X 卡在选择语言界面无法选择 也无法下一步,请... 胡永萍,我的妈妈,我是您在江苏徐州沛县生的孩子,我是军军啊!... 你知道肥城市人力资源保障局的具体地址和电话吗?给我发个吧~~...2 特斯拉车辆识别码在哪里 我怎样给故事会投稿?26 2019款全新逍客变速箱什么型号? 三星液晶电视LA32C350D1突然没图像有声音,怎么回事?5 socialpath是什么意思1 用什么贴窗纸,可以让外面看不见灯光1 为什么管道中的流速越大阻力就越小呢? 你知道的用眼神演戏的特别好的中国演员有哪些? 笔记本电脑能下载手机电视吗 笔记本电脑可以下载中山手机台吗? 云南省生产经营单位安全生产主体责任规定实施时间 贴在玻璃上的防止外面的人看清楚里面的纸具体叫什么?57 被盗,申述找回的时候要好友验证,但是好友也被删完了,要...97 求一部香港武侠片的名字 名爵是哪国的品牌?613 ...蓝屏界面如下图 最下面那个进度到100% 必然重启 帮忙看下什么原因... 为什么质子显微镜不常见在加速电压相同的情况下,质子1 新手求问,骑阶和弓阶练哪些好 脚底反射区17 脚底反射区位图26 足疗脚底六大反射区是那些31 脚底反射区的介绍3 姓马男孩起名字叫什么好听?252 老公说对我没感情了,要跟我离婚怎么办?214 公积金一年可以提取几次,需要什么材料1 特洛伊战争的英语简介120 去日本出差,居住证过期能办下来签证吗? mg汽车是哪个国家的1