`

delete 数组后 指针是否为null

    博客分类:
  • c++
 
阅读更多
/** \brief
    测试 delete 数组指针后,数组指针是否为 nullptr
 *
    测试结果: delete 数组指针后, 数组指针不为 nullptr
 *
 * \param
 * \param
 * \return
 *
 */
#include <iostream>



using std::cout ;

int main(){

    int * ary = new int [100];

    if(ary == nullptr) cout << "ary == nullptr \n";
    else {

        cout << "ary pointer is not nullptr.\n";
    }

    ary[1] = 1l;

    ary[2] = 12;

    delete []  ary;

    ary = nullptr;

    if(ary==nullptr) cout << "ary == nullptr \n";

    else {

        cout << "ary pointer is not nullptr.\n";
    }

    return 0;
}

 

 

ary pointer is not nullptr.
ary == nullptr 

Process returned 0 (0x0)   execution time : 0.004 s
Press ENTER to continue.

 

分享到:
评论

相关推荐

    指针的用法大全,指针与数组,指针详解

    如果我们有一个指向数组元素的指针,可以通过增加或减少偏移量来访问数组的不同元素,如`ptr + 1`将指向下标为1的元素。需要注意的是,指针加减的单位取决于指针所指向的数据类型。 在指针的使用中,我们经常涉及到...

    C的指针数组和数组指针

    - **数组指针**:数组指针是指向数组的指针,可以用来遍历整个数组。 ```c int (*ptr)[5]; // 数组指针 ``` #### 指针数组示例 假设我们需要一个指针数组,每个指针指向一个整数。 ```c #include #include ...

    指针数组解析

    当你通过数组指针访问数组元素时,你可以使用指针解引用操作`*`和下标操作`[]`的组合,如`*(ptr + i)`来获取数组的第`i`个元素。 函数指针则更为复杂,它是一个可以存储函数地址的指针。例如,`void (*func_ptr)...

    C++语言程序设计:第6讲 数组和指针.ppt

    使用完毕后,必须使用`delete[]`释放这些内存,防止内存泄漏。 指针是C++中的另一种关键特性,它存储的是变量的内存地址,允许间接访问该地址处的数据。通过指针,我们可以实现对内存的灵活操作。指针的声明通常...

    读new、delete、指向连续空间的指针、数组、空间释放、空间申请[C++][内存管理] 有感

    因此,一个好的实践是在释放内存后立即将指针设为`NULL`,以避免悬挂指针。 在实际开发中,为了提高代码的可读性和可维护性,建议使用智能指针(如`std::unique_ptr`和`std::shared_ptr`)来自动管理内存。智能指针...

    关于C指针的知识精要

    二是指针被free或delete后未及时将其置为NULL。 以上知识点概述了C语言中指针的深入概念与使用方法,包括指针变量的声明、数组与指针的关系、函数指针的使用以及指针常量和野指针的概念。掌握这些知识点,对于深入...

    C++创建动态数组

    最后将`arr`设为`NULL`,这是一个好习惯,可以帮助检查是否已释放内存。 总的来说,C++中的动态数组通过`new`和`delete[]`关键字进行管理,提供了在运行时调整数组大小的能力。然而,需要注意的是,如果忘记释放...

    指针和内存分配详解

    使用free或delete释放内存后,应将指针设置为NULL,防止野指针的出现。 指针和数组在C/C++语言中有着密切的关系,但它们并不完全等价。数组名是一个常量指针,指向数组的首元素,而指针是一个变量,可以指向任意...

    指针用法总结,指针用法大全

    - 数组指针是指向数组的指针,如`int *arr_ptr`可以指向一个整型数组的首元素。 4. **函数参数中的指针**: - 函数可以接受指针作为参数,这样可以改变实参的值,因为指针传递的是地址而非副本。 - 例如,`void ...

    C++指针与内存管理.doc

    1. 检查`malloc`或`new`后的指针是否为`NULL`。 2. 为数组和动态内存赋初值。 3. 避免下标越界。 4. 动态内存的申请与释放匹配。 5. 释放内存后,立即将指针设为`NULL`。 最后,文章讨论了指针和数组的异同。数组在...

    c++中指针的详细介绍

    在C++编程语言中,指针是一个至关重要的概念,它为程序员提供了对内存直接操作的能力,使得高级编程技巧如动态内存分配、数据结构实现、函数指针等成为可能。本书《C++中指针的详细介绍》针对初学者,旨在帮助他们...

    浅谈C语言中指针的概念及基本应用规律.pdf

    指针的基本概念包括数组指针和指针数组、指针函数和函数指针。 数组指针是指向数组的指针,它的作用是能够访问数组中的元素。由于数组元素在内存中是连续存储的,数组指针可以利用这一点进行高效的遍历访问。而指针...

    指针资料大集合(内含积累的十几个指针资料)

    最后,理解指针的空指针(NULL)和悬空指针至关重要。空指针通常表示未指向任何对象,而在释放或未初始化的指针可能会成为悬空指针,访问悬空指针会导致未定义行为,是编程中的大忌。 这个压缩包中的精华文档可能涵盖...

    经典收藏之 - C++内存管理详解

    1. 分配内存后立即检查指针是否为NULL。 2. 初始化数组和动态内存,避免未定义的值。 3. 避免数组或指针下标越界。 4. 动态内存分配与释放应成对出现。 5. 释放内存后将指针设为NULL。 此外,指针与数组虽然在某些...

    C语言内存管理详解---c语言雷区

    1. 分配失败后仍使用内存:确保在使用内存前检查指针是否为NULL,避免空指针异常。 2. 未初始化的内存引用:对新分配的内存应立即初始化,避免引用未定义的值。 3. 越界访问:在操作数组或指针时,确保索引或指针...

    C++ 从头开始 指针

    ### C++ 从头开始:深入理解指针...通过本文的介绍,希望能够帮助初学者建立起对指针的基本认识,为进一步学习复杂的指针应用和高级特性奠定坚实的基础。记住,实践是最好的老师,多动手写代码,才能真正掌握这些概念。

    C/C++内存管理

    规则1:用malloc或new申请内存后,立即检查指针是否为NULL。 规则2:不要忘记为数组和动态内存赋初始值。 规则3:避免数组和指针的下标越界。 规则4:动态内存的申请和释放必须配对。 规则5:释放内存后,立即将...

    环形数组(介绍、配置、使用步骤、环形数组对象、API).pdf

    - 返回值:成功创建返回环形数组对象指针,失败返回`NULL`。 4. **删除动态环形数组** ```c void ringbuf_delete(ringbuf_t *obj); ``` - `obj`:环形数组对象。 - 返回值:无。 5. **获取环形数组已使用...

Global site tag (gtag.js) - Google Analytics