怎样学习指针

时间:2024-11-17 08:22:36

初学 c++ 编程,可能大多数人都会觉得指针很难。那么,怎样学好指针呢?

一、指针的初始化

1、指针不进行初始化也可以使用。不过,在这儿建议大家对指针进行初始化,定义指针时顺便将其置为 NULL。

怎样学习指针

2、这样做的好处在于,如果该指针在接下来的代码并没有指向 new 出来的内存,也可以安全地将它 delete 掉。

怎样学习指针

3、比如说,你定义了一个 int 指针 p 并没有将它初始化,并且在程序中没有用它指向一块 new 出来的内存,然而,你却在某处使用了 delete p ,程序就会出错。

怎样学习指针

4、但是,当你初始化 p 为 NULL时,不管 p 有没有指向新分配的内存删除 p 则不会有问题,这是因为删除一个空指针是合法的。

怎样学习指针

二、对指针进行操作的new/delete、malloc/free等函数要成对使用

1、这就是说,如果你的指针是用 new 分配的,需要使用 delete 释放;如果是用 malloc 分配的,则使用 free 释放。

怎样学习指针

2、相反,如果使用 new 分配的指针用 free 释放,或者使用 malloc 分配的指针用 delete 释放则是不规范的,尽管有时有些编译器并不报错。

怎样学习指针

3、当然,除了以上内存分配/释放函数,还有其他一些,比如说GlobalAlloc/GlobalFree,它们也是成对使用的。

怎样学习指针
怎样学习指针
© 手抄报圈