c/c++ 指针

C++指针

1、在c++中创建指针时,计算机将分配用来存储地址的内存,但不会分配用来存储指针所指向的数据的内存。为数据提供空间是一个独立的步骤。

long * fellow; 	//创建一个用来分配地址的内存
*fellow = 233;	//因为fellow没有被初始化,他可能指向任何地址 ×

2、不能使用delete来释放声明变量所获得的内存,只能用delete来释放使用new分配的内存。然而,对空指针使用delete是安全的。

int *ps = new int;
delete ps;
delete ps; 	//释放已经被释放过的内存块,导致不确定的结果
int jugs = 5;
int *pi = $jugs;
delete pi;     	//不能使用delete来释放声明变量所获得的内存

3、在c++中值为0的指针被称为空指针。

4、可以用两种不同的方式将const关键字用于指针。第一种方法是让指针指向一个常量对象,这样可以防止使用该指针来修改所指向的值;第二种方法是将指针本身声明为常量,这样可以防止改变指针指向的位置。

int sloth = 3;
const int * ps = &sloth;	//方式一,a pointer to const int,pt指向一个const int,
                        //*pt的值为const,不能被修改,但可以将一个新地址赋给pt
int * const finger = &sloth;//方式二,a const pointer to int,
                            //finger只能指向sloth,但允许使用finger来修改sloth的值。
posted @ 2017-08-16 11:30  城东  阅读(248)  评论(0编辑  收藏  举报