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

  • 相关阅读:
    读REDIS数据结构
    一致性哈希虚节点解决雪崩问题
    TCP的建立和关闭
    nginx和apache的比较
    进程和线程的区别
    acm过河卒
    搭建centos7 的php环境
    navicat 中 oracle数据传输到mysql上
    安装虚拟机精简版centos7
    整合tomcat的一些配置
  • 原文地址:https://www.cnblogs.com/WHUT-Simon/p/11743932.html
Copyright © 2011-2022 走看看