zoukankan      html  css  js  c++  java
  • 空指针——野指针——内存泄漏

    1.空指针

    1> 没有存储任何内存地址的指针就称为空指针(NULL指针)

    2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。

    下面两个都是空指针:

    1 Student *s1 = NULL;
    2 
    3 Student *s2 = nil;

    2.野指针

    "野指针"不是NULL指针,是指向"垃圾"内存(不可用内存)的指针。野指针是非常危险的。

    =============================

    转自https://blog.csdn.net/jackshiny/article/details/43838919

    空指针:

    一般声明一个指针变量赋值为NULL,这就是空指针,各个类型的空指针都存在确确实实的内存地址,但是不会指向任何有效的值的内存地址,对空指针操作,例如访问属性和方法,会抛出空指针异常,因为空指针指向的内存地址没有对应的物理地址。

    野指针:

    指那些释放内存,但是指针赋值为空,这时候的指针指向任意地址,好可怕,例如指向内核地址或不属于本程序的内存地址,程序会被kill,即奔溃。

    内存泄漏:

    分为堆泄露和资源泄露 两种,内存分配失败或者内存分配成功却没有指针指向它(即无法操作该内存),会导致内存分配的越来越多,导致系统内存不够而终止程序

    https://www.ppkao.com/tiku/shiti/7492390.html

  • 相关阅读:
    I.MX6 Surfaceflinger 机制
    理解 Android Fragment
    RPi 2B DDNS 动态域名
    RPi 2B IPC webcam server
    理解 Android MVP 开发模式
    I.MX6 system.img unpack repack
    can't set android permissions
    VMware Ubuntu 共享文件夹
    解决oracle数据库连接不上的问题
    perfect-scrollbar示例
  • 原文地址:https://www.cnblogs.com/WHUT-Simon/p/11743932.html
Copyright © 2011-2022 走看看