社区
C语言
帖子详情
一个比较弱的问题
RickeyLv
2002-03-14 11:06:52
char* szYear=new char;
itoa(4,szYear,10);
delete szYear; //出错???为什么???
...全文
60
14
打赏
收藏
一个比较弱的问题
char* szYear=new char; itoa(4,szYear,10); delete szYear; //出错???为什么???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zx_sanjin
2002-03-16
打赏
举报
回复
不清楚.lib中itoa是怎么写的~~~~
想法:
当你new过以后,系统将记录szYear指针的首地址和大小,而因为指针分配的不够大,itoa的内部执行中又强行的为szYear开辟了一个字节的空间,使szYear的大小发生了变化,所以delete就会出错了~~~只是想法~~~~有待证实啊~~~
RickeyLv
2002-03-16
打赏
举报
回复
那为什么在执行
itoa(4,szYear,10)是不出错,
而是在delete szYear是出错呢???
zx_sanjin
2002-03-16
打赏
举报
回复
请看msdn(itoa):
Remarks
The _itoa, _i64toa, and _ui64toa function convert the digits of the given value argument to a null-terminated character string and stores the result (up to 33 bytes) in string
也就是说,itoa参数中的字符串长至少应为1,它要在结尾处保存一个NULL
huoOliver
2002-03-16
打赏
举报
回复
一个更弱的问题:在这里如何提问题?
leizhengdeng
2002-03-15
打赏
举报
回复
char* szYear=new char;
这种写法没错,只是只开辟了一个大小为1的空间
而int型的大小可以是2^32= 4,294,967,296 (int 4bytes, 32bits)
所以需要十位的空间存放,加上最后的'\0',需要11位char
所以,准确的说new出来的空间要 >= 11
k_f
2002-03-15
打赏
举报
回复
你用VC++?我用dev-c++4.0编译运行没有错
同意leizhengdeng(阿登) 的意见,是数据类型长度不同造成的,int的长度比char大,所以char* szYear=new char;会导致运行时错误。
RickeyLv
2002-03-15
打赏
举报
回复
好像你们回答的都不对,我发现是错误是由itoa(4,szYear,10);引起的
我用的是vc,
经过测试
用
char* szYear=new char[1];或
char* szYear=new char;或
char* szYear=new char[10]时
去掉itoa(4,szYear,10)这条语句,
那么用delete或delte[]都不会出错。
但一旦使用了itoa(4,szYear,10)这条语句,那么就有可能出错,
有人知道是为什么吗?
lansenet
2002-03-15
打赏
举报
回复
是char长度不够,比int小~~~~~
cssnow
2002-03-15
打赏
举报
回复
char* szYear=new char;
因为new char = new char[1];
itoa(4,szYear,10);
delete szYear; //出错???为什么???
delete [] szYear;就没有问题了。
北极猩猩
2002-03-15
打赏
举报
回复
唉,来晚了。
不过提醒一句用new[]分配的内存一定要用delete[]来释放。
snipersu
2002-03-14
打赏
举报
回复
mei
RickeyLv
2002-03-14
打赏
举报
回复
char* szYear=new char;
这种写法错了吗??为什么???
leizhengdeng
2002-03-14
打赏
举报
回复
char* szYear=new char[12];
itoa(4,szYear,10);
delete []szYear;
RickeyLv
2002-03-14
打赏
举报
回复
是运行时出错
leetcode 游戏中
弱
角色的数量(C++、java、python)
这篇博客讨论了
一个
多角色游戏中的
弱
角色识别
问题
。通过
比较
每个角色的攻击和防御属性,找出那些所有属性都被其他角色超越的角色。提供的C++、Java和Python代码实现了排序和
比较
逻辑,以计算出
弱
角色的数量。示例展示了不同情况下
弱
角色的计数方法。
c#
弱
事件(weak event)
本文详细介绍了
弱
事件管理器(WeakEventManager)的概念及其在.NET框架中的应用。通过
一个
具体的示例,展示了如何使用WeakEventManager来解决传统事件机制中存在的内存泄漏
问题
,特别是在垃圾回收方面。文章还
比较
了使用
弱
事件前后代码的差异,以及在.net4.5版本中集成WeakEventManager后的便捷之处。
PHP开发安全
问题
之
弱
数据类型的安全
问题
(1),算法题+网络安全+自定义View
本文讨论了
弱
数据类型在编程中的安全
问题
,特别是Hash
比较
可能导致的安全漏洞。作者提供了
一个
网络安全工程师的自学路径,强调了编程能力和安全知识的重要性,并分享了企业级学习资源和安全资料包。
数组、排序、空间、[1996] 游戏中
弱
角色的数量
这篇博客介绍了两种不同的方法来解决找出游戏中
弱
角色的数量
问题
。第一种方法通过排序和
比较
角色的攻击力与防御力来确定。第二种方法利用空间换时间的策略,创建
一个
桶数据结构来存储不同攻击力角色的最大防御力,从而更高效地计算出
弱
角色的数量。两种方法都考虑了攻击力和防御力的
比较
规则,优化了算法效率。
模拟卷Leetcode【普通】1996. 游戏中
弱
角色的数量
本文介绍了
一个
LeetCode上的编程
问题
,涉及角色属性
比较
。任务是找出攻击和防御都低于其他角色的游戏角色数量。提供的解决方案通过排序角色属性并迭代判断来找到
弱
角色。代码实现使用了Python,并附带了测试用例和运行时间。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章