C语言中几种指针的指针用法
1、 简单来说 int **p 是一个指向2维数组的指针。
数学上一个2维数组描述有NR行,NC列的矩阵,例如 int a[NR][NC];
为了使程序有通用性,编程时不把这个数组行列数定死,而让使用者临时输入行列数,再动态分配数组存放单元,这时,我们声明一个2维数组的指针(或叫二重指针)。
- int NR,NC;
- int **a;
- int i,j;
- // 假定键盘输入 NR=5,NC=3,动态分配数组:
- a = (int **) malloc(sizeof(int *) * NR);
- for (j=0;j<nr ;j++) a[j] = (int *) malloc(sizeof(int) * NC);