初始化二维指针数组
行数: row
列数为column
方式1 :
int **dp1;
DP1=(int** ) malloc ) sizeof (int * * row ); //分配指针数组并计算行的大小
for(intI=0; I
方式2 :
int*ptr[row];
for(intI=0; I
方式3 :
int(ptr ) [column];
//方式1
ptr=(int(* ) [column] ) malloc ) sizeof (int ) *row*column );
//方式2
for(intI=0; I
定义以下3个二维数组和二维指针进行说明。
1.int **ptr; //内存占用四个自己,即一个指针
2.int *ptr[M]; //占用自己4*M个
3.int(*ptr ) [M]; 占用//4字节
它们都是存储整数的二维数组,可以以ptr[i][j]的形式访问内容,但它们之间存在很大的差异,有些方面取决于本文所述
进行分析。
三个ptr本身是指针,是二维指针,但最终内容始终是整数。 但是,像ptr[i]这样的中间内容不是正式的,指针int*
1.int**ptr表示指向“一组整数数据指针”的指针
2.int *ptr[M]是指针数组,表示指向(m个整形指针)的指针
3.int(ptr ) [M]表示指向包含一系列) m个整形数据的指针。
参考链接: https://blog.csdn.net/nan joh/article/details/54406988
我再补充一个诀窍。
求出二维数组的总行数和总列数。
行数=sizeof(array )/sizeof ) array[0];
列数=sizeof(array[0] )=sizeof(array[0] );