1. 程式人生 > >通過指標傳遞三維陣列引數

通過指標傳遞三維陣列引數

當要把一個三維陣列傳遞到一個函式內部的時候,我們可採用指標傳遞的方式:如以下所示:

void arrayprint(int *p)
{
    
    int *psave = p;
    
    int i,j,k;
    for(i=0;i<2;i++)
    {
        for(j=0;j<3;j++)
        {
            for(k=0;k<4;k++)
            {
                printf("%d ",psave[i*12+j*4+k]);
            }
            printf("\n");
        }
        printf("-------------------------\n");
    }

}

int main()
{

        int array[2][3][4] = 
        {   {
            {1,2,3,4},
            {5,6,7,8},
            {9,10,11,12} },
            
            {
            {10,20,30,40},
            {50,60,70,80},
            {90,100,110,120} }
        };

        int* p;
        p = (int*)array;
        arrayprint(p);
        
        return 0;
}

執行結果:

1 2 3 4
5 6 7 8
9 10 11 12
-------------------------
10 20 30 40
50 60 70 80
90 100 110 120
-------------------------