一.指针
指针的类型是它所指向变量的类型,而不是指针本身数据值的类型,任何一个指针本身的数据值都是unsigned long int型。
允许声明指向void类型的指针。该指针可以被赋予任何类型对象的地址。
void 指针赋值给int指针需要类型强制转换
例:void *pv;
int *pint;
int i;
pv=&i;
pint=(int*)pv;
指针常量:不能通过指针来改变所指对象的值,但指针本身可以改变,可以指向另外的对象。
例:
const int n2=5;
const int &pn=&n2;
*pn=6; //错误
const int n1=6;
pn=&n1; //对
二.动态内存分配
一.动态申请内存操作符new
格式:new 类型名T(初值列表)。
功能:在程序执行期间,申请用于存放T类型对象的内存空间,并依初值列表赋以初值。
结果值:成功:T类型的指针,指向新分配的内存。
失败:0(NULL)
二.释放内存操作符delete
格式:delete 指针p;
功能:释放指针p所指向的内存。p必须是new操作的返回值。
例:
Point *p=new Point(1,2);
Point *pt=new Point[2]; //创建对象数组