二维指针与二维数组研究

//    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));
        }
    }

 

posted @ 2012-12-17 12:00  我的程序人生  阅读(161)  评论(0)    收藏  举报