C语言指针怎么存二维数组,C语言怎么用指针代替二维数组
1.設p是指向二維數組a[m][n]的指針變量,則有:int*p=a[0];//此時P是指向一維數組的指針。P++后,p指向a[0][1]。2.如果定義int(*p1)[n];p1=a;p1++后,p1指向a[1][0];則p+j將指向a[0]數組中的元素a[0][j]。由于a[0]、a[1]┅a[M-1]等各個行數組依次連續存儲,則對于a數組中的任一元素a[i][j],指針的一般形式如下:p+i*N+j,?相應的如果用p1來表示,則為*(p1+i)+j。元素a[i][j]相應的指針表示為:*(p+i*N+j)?,相應的如果用p1來表示,則為*(*(p1+i)+j)。同樣,a[i][j]也可使用指針下標法表示,如p[i*N+j]。若有:int*p=a[0];則數組a的元素a[1][2]對應的指針為:p+1*4+2元素a[1][2]也就可以表示為:*(p+1*4+2)用下標表示法,a[1][2]表示為:p[1*4+2]擴展資料:指針與數組的關系:1.指針數組:就是一個由指針組成的數組,那個數組的各個元素都是指針,指向某個內存地址。 char*p[10];?//p是一個指針數組2.數組指針:數組名本身就是一個指針,指向數組的首地址。注意這是一個常數。example:char(*p)[10];?//p是一個數組指針3.函數指針:本身是一個指針,指向一個函數入口地址,通過該指針可調用其指向的函數,使用函數指針可實現回調函數。參考資料:百度百科-指針
閱讀全文 >
總結
以上是生活随笔為你收集整理的C语言指针怎么存二维数组,C语言怎么用指针代替二维数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: runtime无法执行grep_如何使管
- 下一篇: c++ 访问控制与封装