zoukankan      html  css  js  c++  java
  • 常见运行时错误

    1.读取未赋值的局部变量。

    2.函数栈溢出。

      错误特征:   "stack overflow"

      一种原因是定义的变量体积太大 ,如 int a[1024*1024*6]   

      还有一种原因是函数递归调用,层次太深,没有终止条件,最终栈用光了。

    3.数组越界访问

      错误特征:"stack around the variable was corrupted"

    4.指针的目标对象不可用

      1) 空指针

      错误特征: "未处理的异常:0xxxxxxxx:读取位置0x00000000时发生访问冲突"

      2) 野指针

        -指针未赋值

          错误特征:“the variable is being used without being initialized”

        -使用了已经free/delete释放了的对象

        -不恰当的指针强制转换

          比如:  将一个4字节的int 强制转换为8字节double

    int main()
    {
        int a = 10;
        double *a = (double*)&a;  //  可以转换,没有意义
        *p = 123.456;  //   但程序奔溃
    }
  • 相关阅读:
    关于XML文档
    Why sql is called structured query language?1
    UML学习---交互
    C#为什么不采用多继承:
    url中
    array
    hard
    构造函数返回值
    布局容器layout Container
    k8s的概念
  • 原文地址:https://www.cnblogs.com/ll-10/p/9359136.html
Copyright © 2011-2022 走看看