C++学习笔记(指针)

一.   指针

1.

int *p = new int(100);//注意()是表示的是指针初始化,即表示p指向100

   int *P = new int[3];//这里才是创建了一个数组类似于P[3];

   delete[]P; //数组的释放方式

但是书上也说使用delete P释放数组也可以,只是不提倡,不会出现内存泄漏,但是对于类对象数组来说,这样常行不通(如果类包含有在堆中分配的数据成员,必须用delete[]P来释放数组)

2. int *p = new int[3];

   int n = 10;

   p = &n;//p最初在堆中分配了一个空间,现在又指向了n,这样堆上的空间无法释放

3.指针数组:

char *p[3] = { "1", "2", "40" };

   cout << p[0] << endl; //合法的,分别指向不同的字符常量,也可以通过new来为其分配空间

  1. 指向函数的指针(回调函数常通过函数指针实现)

   int(*p)(int, int);

   p = sum; //其中sum是一个函数,且参数为(int,int)

posted on 2017-03-11 09:43  今宵酒醒  阅读(100)  评论(0编辑  收藏  举报

导航