日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 二维数组做函数参数的几种情况

發布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 二维数组做函数参数的几种情况 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1)???????實參為數組元素地址,虛參為元素類型指針

(a)???????調用函數:fun(*a,3*4);??//*a也可為a[0] or &a[0][0]

函數: fun(int *p,int n)??//*p也可為p[]

?????????????????????????????????{???p[i] or *(p+i) }

(b)???????調用函數:fun(*a,3,4);??//*a也可為a[0] or &a[0][0]

???函數: fun(int *p,int m,int n) //*p也可為p[] ?????????????????????????????

????{???*(p+i*n+j)??} ?

(2)???????實參為數組名,虛參為指向行的指針

??????????調用函數:fun(a,3);??//a也可為&a[0]

??????????函數:?fun(int (*p)[4],int m) //(*p)[4]也可為p[][4]

???????????????????????????????????{???p[i][j] or *(p[i]+j)??or ??*(*(p+i)+j) ??}

(3)???????實參、虛參都用指針數組

????????????因為二維數組類型為 (*)[] ,指針數組類型為 *[],所以不能把二維數組直接傳給指針數組。

???????????調用函數:

int *b[3];???for(i=0;i<3;i++)??b[i]=a[i]; fun(b,3,4); ?????????

?函數:?fun(int??*p[],int m,int n) //*p[]也可為**p ??

???????????????????????????????{???p[i][j] or *(p[i]+j)??or ??*(*(p+i)+j) ??}

(4)???????使用模板編寫通用性更強的函數

???????????調用函數:fun<3,4>(a);

???????????函數:template <int M,int N>

???????????????fun(int p[M][N])

?????????????????????{ ???p[i][j] ???}

(5)???????實參為數組名,虛參數組的引用

????????????調用函數:?????????????????????fun(a);

???????????函數:??????????????????template<int M,int N>

????????????????????????????????fun(int (&p)[M][N])

????????????????????????????????{????p[i][j] or *(p[i]+j) or *(*(p+i)+j)????}

轉載于:https://www.cnblogs.com/hao02171990/archive/2013/04/09/3010864.html

總結

以上是生活随笔為你收集整理的C语言 二维数组做函数参数的几种情况的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。