指针使用注意事项

时间:2024-04-07 18:24:54

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;

}

造成崩溃