当前位置 博文首页 > Allen Roson:指针使用注意事项

    Allen Roson:指针使用注意事项

    作者:[db:作者] 时间:2021-07-09 09:41

    1.指针

    1.1不要使用局部变量的地址作为函数返回值

    错误代码

    Func2()返回了局部变量数组的地址,结果并没有输出hello

    ?

    1.2 malloc,free,new,delete

    申请与释放必须成对使用

    下面的代码没有使用free释放

    ?

    动态数组的释放必须加括号

    释放动态数组时,使用delete[ ] arr;即在数组名前加上一个中括弧;例如

    delete [ ] arr;

    ? ? ? 释放一个动态数组时,或者说是指向数组的指针时,中括号是必须的。它告诉编译器,指针指向一个数组的第一个元素。

    delete释放数组是逆序进行的,最后一个元素被最先释放,第一个元素最后一个被释放。

    ?

    ?

    1.3 指针必须初始化

    不正确的初始化,赋值为NULL后直接调用字符串拷贝函数,造成崩溃。

    ?

    1.4 指针释放后必须置空

    某一行释放了指针,释放后ptr不为NULL:

    delete ptr;

    ?

    过了几十行代码,又作如下判断

    if(NULL != ptr)

    {

    ??? delete ptr;

    }

    造成崩溃

    cs
    下一篇:没有了