c++基础

C++语言 码拜 8年前 (2016-04-24) 1144次浏览
本人申请了5个空间,为什么输入10个数据还依然正确呢?不应该出现内存溢出的问题吗?请高手说说哪些情况会导致本人这种事情的发生。
解决方案

40

引用:
Quote: 引用:
Quote: 引用:
Quote: 引用:

没出错最多只能代表运气好,原因是你已经把其他不属于你的空间覆盖了,假如这些空间有重要内容可能也就被你覆盖了

看一下本人的代码吧,本人只是想让它正常的出现内存出错的问题就好,否则本人后面设的条件就用不到了

本人不知你是指代码哪里插入了8个元素,假如越界了,行为是不确定的,不确定就是指可能崩溃,也可能没崩溃,但埋下了某种隐患

首先本人申请了可以存放5个elemtype类型元素的空间,然后一开始用for输入3个,调用输出,输出三个数,接下来本人一直调用了插入函数,结果本人调用了它5次,这就相当于一共添加了8个元素,结果可以正常调用并且输出那8个元素。本人也想知道问题是在哪里,应该会报错的啊。

上面已经说了,这是不确定行为,就是说可能报错,也可能不错
并不是你越界时就一定会报错,不然也就不存在那些潜在难找的错误了
假如没猜错,你在程序结束前free申请到的内存时会报错


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c++基础
喜欢 (0)
[1034331897@qq.com]
分享 (0)