- 整数变量+1,其值+1;指针变量+1,增加的量等于它指向的类型的字节数。这也说明C++将数组名解释为地址。
- 指针的真正用武之地:在运行阶段分配未命名的内存以存储值,用new运算符
int * pn = new int
new int表示告诉系统需要存储int的内存,并返回其地址,程序员责任是将该地址赋给一个指针。pn指向的对象没有名字。为某一对象获得并指定分配内存的通用格式:
typename * pointer_name = new typename
注意:new从堆或自由存储区分配内存,变量从栈分配内存。并需要用delete释放。必须配对使用new和delete,不然会有内存泄漏。
释放数组的方法:
int * p = new int [10];
delete [] p;
delete不能释放同一个内存块两次,只能释放new分配的内存。
访问数组时:指针当作数组名使用即可。