// int a[2][2]; // a[0][0]=11; // a[0][1]=12; // // a[1][0]=21; // a[1][1]=22; int row = 10; int col = 10; char*** a = new char** [row]; for (int i=0; i<row; i++) { *(a+i) = new char* [col]; for (int j=0; j<col; j++) { //*(*(a+i)+j) = new char* [100]; *(*(a+i)+j) = new char [100]; memset(*(*(a+i)+j),0,100); sprintf(*(*(a+i)+j),"%d,%d---testStr",i,j); //memcpy(*(*(a+i)+j),"abc\0",4); } } // *(a+0) = new int [2]; // *(*(a+0)+0) = 11; // *(*(a+0)+1) = 12; // // *(a+1) = new int [2]; // *(*(a+1)+0) = 21; // *(*(a+1)+1) = 22; char*** p = (char***)a; for (int i=0; i<row; i++) { printf("\n"); for (int j=0; j<col; j++) { printf("%s",*(*(p+i)+j)); } }