设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
关于malloc函数 内存溢出的问题,求大神指点一下 ...
返回列表
发新帖
关于malloc函数 内存溢出的问题,求大神指点一下
[复制链接]
11
|
4
|
2021-1-27 06:26:13
|
显示全部楼层
|
阅读模式
程序:
#include
#include
structstudent{
charname[6];
charxiaoname[6];
};
typedefstructstudentstudents;
voidadd_list(students*s1);
intmain()
{
studentss1;
add_list(&s1);
printf("%s.\n",s1.name);
system("pause");
return0;
}
voidadd_list(students*s1)
{
s1=(students*)malloc(sizeof(students));//请问这里怎么发生内存溢出了。能不能指点下这里。
gets_s(s1->name);
gets_s(s1->xiaoname);
}
我感觉思路完全正确啊,怎么结果不对头U啊,到网上查了一下没看懂。
分 -->
回复
使用道具
举报
千问
|
2021-1-27 06:26:13
|
显示全部楼层
不是malloc溢出,而是你gets_s的时候输入的字符超过6个了吧,缓冲越界
回复
使用道具
举报
千问
|
2021-1-27 06:26:13
|
显示全部楼层
你malloc的时候不一定成功,要判断下,而且每malloc一次要记得free一下
回复
使用道具
举报
千问
|
2021-1-27 06:26:13
|
显示全部楼层
studentss1;
//s1分配于栈上,已经不需要为其分配内存了。
add_list(&s1);//这里传递的是对象s1的地址,add_list是值调用,这里会有一个临时对象也就是
相当于代码:
registerstudents*tmp=&s1;
add_list(tmp);
所以add_list函数中不应该再分配内存。
s1=(students*)malloc(sizeof(students));//请问这里怎么发生内存溢出了。能不能指点下这里。
//这行应该不会发生内存溢出。从上面代码看,这行不需要存在。
//这里是存在内存泄露,也就是函数执行完成后,分配的内存地址将被丢弃,再也无法回收这块内存了。
//反而是下面两句需要确保不溢出。
gets_s(s1->name);
gets_s(s1->xiaoname);
你给namexiaoname的只有6个字节,所以不能超过5个字符,否则溢出(注意字符串结束符)。
回复
使用道具
举报
千问
|
2021-1-27 06:26:13
|
显示全部楼层
楼上正解,NND论坛不足6个字符不让提交反馈。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
属马的天蝎座和谁是绝配?
2
我是学护理专业的,什么书适合我看?
3
麦迪视频 - Tracy McGrady Just The Beginning!这个视频的背景音乐叫什么谢谢大家了!
4
我的网页搜索栏和用户登陆怎么没光标闪烁?
5
风干的鱼怎么吃
6
如何安装PRO /E
7
事隔多年,我还可以继续接着考吗?
8
女生进,我问件事
9
把NBA所有小前锋名单及球队列下来!谢!!!
10
高起 王陵认为高祖得天下,项羽失天下的原因是什么?
11
戴尔1400 能值多少钱??
12
怎样才能使小腿变细、肚腩消下去呢?
13
电脑的内存512M的和1G的可不可以一起用?我是用的Kingston的,还有就是DDR2 667的可不可以和800的一想用?
14
在女的说愿意等男的时候,男的说我跟你不适合是什么意思
15
电脑administrator用户密码错误怎么弄啊
16
无刚矿石怎么刷最快啊?
17
关于远程协助......
18
给我算算我能少亏多少
19
我在做免费QQ空间时遇到了一些问题,希望大家帮助
20
我是消化不良吗?
21
波斯王子王者无双最终boss第二形态当爬石柱出现提示发动瞬杀时是按三角,还是按叉跳?
22
句子翻译!一句话!
23
有什么好药治疗秃顶么
24
袁成杰&戚薇 - 外滩十八号的歌词
25
用ghost 盘恢复系统 `一般就只格C盘嘛,为什么会把有的机子D盘也格式掉 如何区分
26
求6120塞班签名证书一个
27
类似极品飞车,侠盗车手,横冲直撞这类的游戏还有哪些?
28
我的电脑比如打开土豆,优酷视频网等页面后显示不出来一个个视频的小图片?
29
请问狐臭怎样可以根治
30
6年级语文寒假:请太阳公公刻字。
31
宠物不听话了咋办
32
NO造成酸雨的两个化学方程式
33
电脑高手帮帮我
34
有谁知道新婚夫妇头一年是不是要"上灯"啊
35
上网做什么呢?没网络的电脑又能做什么呢?
36
黄钻有什么好
37
哪里可以买到纱纸条?
38
装上摄像头聊天时我能看见对方,对方却看不见我,请问怎么回事
39
柳州腾迅网吧在哪里
40
济宁爱书人总店在哪里
41
麦迪时刻那场比赛的最后一分钟?
42
怎样安装双系统?
43
帮助!!!急!!!那些人太MI XIN(迷信)了!!!
44
一个人为什么不能抓着头发把自己抬起来?
45
我是一名专科生! 如何升到本科!或者直接考研
46
我喜欢上了一个不能喜欢的人
47
应用附加题
48
哪有下载语文版七年级语文课本?
49
急!!关于农行异地汇款的手续费!
50
先用洗面奶洗净在做珍珠面膜可以吗
51
买手机?
52
推荐下硬盘DV,性价比优秀的。sony 200E不要,这个有海拔限制。
53
我是一名警校毕业的学生,以前我们学校不要求英语的水平现在由于工作的需要,怎样快的拿到六级证书!
54
秋波是什么
55
没有了爱与被爱,我们怎么生活?
56
我的主板是华硕K8V-X 只支持SATA1可以装SATA2的硬盘吗
57
请帮忙翻译一下,谢谢!有关铰链
58
我应该离开吗?
59
精确算法原则取整
60
相机里的照片拷到桌面后不小心删了,怎么办?SOS!小女子万分感激!
61
上海有多少辆迈巴赫AND兰搏击尼.......
62
求高手录像:魔兽3单机对电脑最多可以打赢几家联盟高级电脑
63
我想取个英文名字?不知道叫什么?你可以帮我吗?我叫谭杏沂
64
索爱m608C的手机为何提示无法安装Jar文件,应该如何解决?
65
电视遥控器用不了,买的万能遥控器也用不了,是怎么回事?
66
初三化学(在线等)
67
都有谁唱过纯情青春梦
68
摩托罗拉L7的手机出现了故障
69
关于无线收发系统的设计
70
冒险岛 牧师穿桑拿服好吗?
71
七年级数学题
72
保定哪里卖的化妆包质量好?
73
为什么他习惯性网恋呢?
74
急, 再线等! 电脑急难问题 高手来解释下! 急! 谢谢了!
75
我把灯泡搞嘴里了……
76
石家庄婚宴~急~~~~
77
2005年出版的一张一百元人民币为什么会多一个信字呢?
78
第三者强制保险牙齿修补问题
79
帮我看下用什么显卡好
80
柳州初中哪个好?
81
一个英语选择题目!
82
问题是:笑有很多种,试一试看你能写多少.(越多越好)
83
2006年南昌市人口结构
84
谁有真三团战经典比赛录像???
85
2月的港币兑人民币汇率,100港元可兑多少人民币?
86
美国公民有多少人?
87
我和一女孩子昨天定婚了,请问下,我要怎么培养我们之间的感情
88
酷睿E4300跟E4500哪个更能超?为什么?
89
三星 sgh i718 键盘怎么弄出来?
90
年平均增长速度怎么计算?年平均增长速度=累计增长速度吗?
91
我要创立个丐帮,该怎么做啊
92
美国现役的特种部队大约有多少人?
93
Wenny怎样读啊?
94
《每个少年都会远去》电子书下载地址
95
我的手机是夏新M300的下载MP3为是么手机上显示不出来
96
请问有什么软件把中文输入进去就可以直接翻译成英文,(不用连接网线)谢谢
97
假如爱有天意中的绕口令
98
请问谁知道双眼皮压线有没有后遗症啊?多久能恢复?
99
韩语高手翻译一下
100
我好像是同性恋