#include<stdio.h>


int c_array(int **a,int row,int column,int i,int j)
{
    printf("%d ",*(*( a + i) +j) );//使用pointer來控制矩陣
}


int main(void)
{
    int **ptr=NULL;
    int row,column;
    int i,j;

    //while(1)
    {

		row=5;
		column=5;

       ptr=(int**)malloc(sizeof(int*)*row);
       //生成一維指標陣列
       for(i=0;i<row;i++)
       {
           ptr[i]=(int*)malloc(sizeof(int)*column);
       }//二維

       for(i=0;i<row;i++)
       {
           for(j=0;j<column;j++)
           {
               ptr[i][j]=1;
           }
       }//將矩陣付值:1

       for(i=0;i<row;i++)
       {
           for(j=0;j<column;j++)
           {
               //printf("%d",ptr[i][j]);//測試用
               c_array((int*)ptr,row,column,i,j);//使用另外函數來print
           }

           printf("\n");//換行
       }

       for(i=0;i<row;i++) free(ptr[i]);
       free(ptr);//釋放記憶體

    }
    return 0;
}
