新聞中心
C語言二維動態(tài)數(shù)組作為函數(shù)形參問題
C/C++中,二維數(shù)組的第一維的每一個元素都是一維數(shù)組。所以,用指向一維數(shù)組的指針或用第一維維數(shù)空缺的二維數(shù)組作為函數(shù)的形式參數(shù)都能達(dá)到目的。
站在用戶的角度思考問題,與客戶深入溝通,找到牡丹江網(wǎng)站設(shè)計與牡丹江網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋牡丹江地區(qū)。
int (*arr)[m];所以,傳遞二維數(shù)組作為參數(shù),實際上就是傳遞了一個指針。
那就傳那兩個維度進(jìn)去。前面arr[i][j]那么就void func(int i,int j,int num)我不敢保證在func里面使用到arr[][]的時候貌似能直接使用arr[i][j],我記得這樣用會出錯。所以你要運算那個地址。
int a[3][4];int **p = a;//錯誤 這個代碼的錯誤之處在于a是一個數(shù)組,它的成員也是數(shù)組,所以a叫做“數(shù)組的數(shù)組”——C中嚴(yán)格說來沒有二維數(shù)組。
有一點我需要提醒你,假如你在函數(shù)中為float **Z分配了內(nèi)存,你需要把Z分配的內(nèi)存作為返回值,假如,你是在該調(diào)用該函數(shù)前就已經(jīng)為Z分配了內(nèi)存,你在該函數(shù)中的任何改變二維數(shù)組Z的值都會被記錄。
C語言中在函數(shù)中聲明數(shù)組類型的形式參數(shù)
定義數(shù)組必須要確定它的長度,所以int [] ={1, 2, 3}類似的才能編譯通過。 在函數(shù)的形參里使用int a[] 其實是一個道理,它會在調(diào)用時被賦予初值和長度。
void sortl(float b[],int n)/*其中函數(shù)參數(shù)有兩個:一個是數(shù)組,形參的形式是b[],它在調(diào)用是接受具體數(shù)組的首地址;另一個形參是N,它在調(diào)用時數(shù)組元素的具體個數(shù)。
函數(shù)指針的數(shù)組定義方法:返回值類型( * 指針變量名[Number]) (形參列表)。
a,int b){a+=10;b=a+b*2;return a+b;} void main(){ int x=3,y=5,z;z=fun(x,y);printf(%d d d\n,x,y,z);} a和b都是形式參數(shù),x和y都是實際參數(shù)。
在C語言中,形參即為形式參數(shù)。它在整個函數(shù)編譯的時候,沒有實際的數(shù)據(jù)賦于它,僅僅作于定義某個函數(shù)或者函數(shù)名。而實參既為實際參數(shù)。顧名思義,在函數(shù)中,有一個特定的數(shù)據(jù)賦值給它,可以作于在函數(shù)中進(jìn)行運算。
十萬火急,關(guān)于函數(shù)中形參為數(shù)組的問題
1。保證傳遞的實參不被改變,因此可以考慮定義局部數(shù)組用于返回,但是考慮到程序的健壯性,應(yīng)該在定義時用const限定 2。
把你定義的數(shù)組名傳給形參就行了,數(shù)組名就是指向該數(shù)組的指針。數(shù)組的操作實質(zhì)上就是指針的操作。你用的是二重指針(int p;),p是二重指針,那么p[q]就是一重指針,*p[q]即可訪問該指針(p[q])所指向的變量。
在函數(shù)定義的時候,形參int arr[]不是表示某個元素的值,而是告訴編譯器第一個參數(shù)是一個數(shù)組指針,可以接收實參傳過來的數(shù)組地址。實際上以上定義等價于下面的定義。
c語言中數(shù)組名作為實參傳給被調(diào)用的函數(shù)時,形參獲得的是數(shù)組的起始地址。還是用例子說話吧。
EG:void sortl(float b[],int n)/*其中函數(shù)參數(shù)有兩個:一個是數(shù)組,形參的形式是b[],它在調(diào)用是接受具體數(shù)組的首地址;另一個形參是N,它在調(diào)用時數(shù)組元素的具體個數(shù)。
文章題目:c語言形參含數(shù)組的函數(shù) c語言形參數(shù)組名
分享路徑:http://biofuelwatch.net/article/deogcos.html