C++【指向数组的指针】和【数组指针】详细分析

指向数组的指针:
  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])。

你可能感兴趣的:(C++【指向数组的指针】和【数组指针】详细分析)