什么叫无效的内存引用

什么叫无效的内存引用,第1张

无效的内存引用,是指你的程序访问了不该访问的内存地址。你的程序,只要输入123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456就会Segmentation fault应该是scanf的问题,你预期输入少于100个字符,实际上scanf不能保证为你截断因为你只分配了100个字符的内存,但是由于scanf的原因,导致传递给你huiwen函数的字符串超过了100个字符,函数内部访问100个字符以外的内存地址时就可能导致问题

无效内存引用是程序运行时的错误(runtime error),一般都和内存访问和 *** 作有关系。

要解决这个错误,就需要仔细检查程序是否出现了错误的内存访问或者 *** 作,需要一步一步仔细debug程序,错误的原因往往是一字之差。

常见无效内存引用错误的原因:

1、数组越界

2、内存未分配成功,却使用

3、内存分配成功,但未初始化

4、使用已经释放了的内存

5、 *** 作空指针,野指针


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/8304458.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存