ทำไมใช้ Subscript แสดงค่า element ของ array ในฟังก์ชั่นไม่ได้

จาก code ด้านล่างทำไมใช้ subscript แสดง element ของ Array ในฟังก์ชั่นไม่ได้ครับ
แต่ใช้วิธี pointer แสดงค่า element ได้ ช่วยอธิบายหน่อยครับ



void print3(int *arr[], int m, int n)
    {
        int i, j;
        for (i = 0; i < m; i++)
         for (j = 0; j < n; j++)

         //cout<<"a["<<i<<"]["<<j <<"]="<<arr[j]<<endl;// cannot print element
         printf("%d ", *((arr+i*n) + j));
    }   
    void print4(int *arr, int m, int n)
    {
            int i, j;
            for (i = 0; i < m; i++)
             for (j = 0; j < n; j++)
             printf("%d ", *((arr+i*n) + j));
             // cout<<"a["<<i<<"]["<<j <<"]="<<arr[j]<<endl; // cannot print element
    }

    int main()
    {
    int a[2][5]={1,2,3,4,5,6,7,8,9,10};
    print3((int**)a,2,5);
    print4((int*) a,2,5);
    return 0;
    }
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่