unsigned char **Image_Array;
Image_Array=(unsigned char**)malloc(sizeof(unsigned char *)*10);//分配指向uchar变量的指针,任何指针都只占4个字节
if(Image_Array==NULL)
{
return(-2);
}
for(int m=0;m<10;m++)
{
Image_Array[m]=(unsigned char*)malloc(sizeof(unsigned char)*10);//分配连续的地址内存地址
if(Image_Array[m]==NULL)
{
return (-3);
}
}
使用NEW来分配内存,观察输出结果
unsigned char **NewMatrix;
NewMatrix = new unsigned char* [10 ];
printf("NewMatrix=%d\n",NewMatrix);
for(int m=0;m<(10);++m)
{
NewMatrix[m] = new unsigned char[10];//
printf("&NewMatrix[m]=%d\n",&NewMatrix[m]);
printf("NewMatrix[m]=%d\n",NewMatrix[m]);
printf("%d\n",&NewMatrix[m][0]);
printf("%d\n",&NewMatrix[m][1]);
printf("%d\n",&NewMatrix[m][2]);
printf("%d\n",&NewMatrix[m][3]);
printf("%d\n",&NewMatrix[m][4]);
printf("%d\n",&NewMatrix[m][5]);
printf("%d\n",&NewMatrix[m][6]);
printf("%d\n",&NewMatrix[m][7]);
printf("%d\n",&NewMatrix[m][8]);
printf("%d\n",&NewMatrix[m][9]);
}
效果同上