上一篇blog:C++ 的指针的指针(如int **)和二维数组的关系
int m = 10, n = 20;
int **a; // a是指向指针的指针类型(a:int **)
int *b[10];
// b是的一维数组的数组名(指向首元素的指针)
// 数组元素类型为指向int的指针(首元素是指针)
// b是指向指针的指针类型(b:int **)
int *c = new int[n]; // c是int *类型
b[8] = c; // 无语法报错
a = b; // 无语法报错
int c[n]; // 上句error。已知可以改成:
int *d = new int[n]; // d是int *类型(指向int的指针)
int e[n][n]; // 上句error。同上操作可以改成:
int **e = new int*[n]; // e是int **类型(指向int *的指针)
e[1] = new int[m]; // 无语法报错
e[1][2] = 1; // 无语法报错
int *b[10];
// b是的一维数组的数组名(指向首元素的指针)
// 数组元素类型为指向int的指针(首元素是指针)
// b是指向指针的指针类型(b:int **)
int *c = new int[n]; // c是int *类型
b[8] = c; // 无语法报错
a = b; // 无语法报错
int c[n]; // 上句error。已知可以改成:
int *d = new int[n]; // d是int *类型(指向int的指针)
int e[n][n]; // 上句error。同上操作可以改成:
int **e = new int*[n]; // e是int **类型(指向int *的指针)
e[1] = new int[m]; // 无语法报错
e[1][2] = 1; // 无语法报错