指向数组的指针:
char *p = new char;
定义指向动态分配的字符变量的指针;
char *p = new char[3];
定义指向动态分配的一维字符数组的指针,p指向数组首个元素的地址,即(p+1)
为数组第二个元素的地址;
char (*p)[3] = new char[2][3];
定义指向动态分配的二维字符数组(三行二列)的指针,p指向数组首行的地址,即(p+1)
为数组第二行的地址;
char (*p)[9][8] = new char[7][9][8];
定义指向动态分配的三维字符数组的指针(7个9列8行的二维数组),p指向首个二维数组的地址,即(p+1)
为第二个二维数组的地址;
同样的,char数据类型可换成其他数据类型,比如Point类类型,例:Point *p = new Point[2];
定义指向动态分配的一维Point类对象数组的指针。
指针数组:
这里只举例一维数组:
Point *p[2];
定义一个Point类对象的数组,数组里的两个元素都是指向Point类对象的指针(p[0], p[1]
)。