陣列作為函式引數怎麼用,陣列作為函式引數怎麼用C

2021-08-09 10:16:54 字數 3463 閱讀 4125

1樓:何度千尋

陣列名作函式引數

陣列名可以作函式的實參和形參。如:

main()

f(int arr,int n)

array為實參陣列名,arr為形參陣列名。在學習指標變數之後就更容易理解這個問題了。陣列名就是陣列的首位址,實參向形參傳送陣列名實際上就是傳送陣列的位址,形參得到該位址後也指向同一陣列。

這就好象同一件物品有兩個彼此不同的名稱一樣。

同樣,指標變數的值也是位址,陣列指標變數的值即為陣列的首位址,當然也可作為函式的引數使用。

歸納起來,如果有乙個實參陣列,想在函式中改變此陣列的元素的值,實參與形參的對應關係有以下4種:

形參和實參都是陣列名。

main()

}a和x指的是同一組陣列。

實用陣列,形參用指標變數。

main()

f(int *x,int n)

實參、型參都用指標變數。

實參為指標變數,型參為陣列名。

2樓:金色潛鳥

同形式引數型式有關。

形式引數 int array,

int b[5] 作實際引數用, 只需寫 b#include

void reverse(int array, int size)}main();

int c[6]=;

int i;

reverse(b,5);

reverse(c,6);

for (i=0;i<5;i++) printf("%d ",b[i]);

printf("\n");

for (i=0;i<6;i++) printf("%d ",c[i]);

return 0;}

3樓:匿名使用者

void reverse(int *array, int size)

傳參時傳陣列名

4樓:匿名使用者

reverse(int *array, int size)

reverse(int array, int size)

reverse(int &array, int size)

c++中關於陣列作為函式引數的幾種方法

5樓:折柳成萌

對於bai陣列名

作為引數傳du遞,有兩種方式:

1. 使用zhi

陣列名本身,如以下程dao序求陣列內a的最大值#include

int max(int x,int n) //作為數容組定義形式int main(void)

;int m;

m=max(a,5); //陣列名用為實參printf("a的最大值:%d\n",m);

return 0;

}2.用指標作為引數,這就簡單了,如:

int max(int *x,int n) //作為陣列定義形式int main(void)

;int m;

m=max(a,5); //陣列名用為實參printf("a的最大值:%d\n",m);

return 0;

}兩者結果一樣

c++中如何給函式傳遞陣列引數

6樓:司馬刀劍

對於陣列

名作為參bai

數傳遞,有兩種du方式:

1. 使用zhi陣列名本身,如以下dao

程式求陣列專a的最大值屬

#include

int max(int x,int n) //作為陣列定義形式int main(void)

;int m;

m=max(a,5); //陣列名用為實參printf("a的最大值:%d\n",m);

return 0;

}2.用指標作為引數,這就簡單了,如:

int max(int *x,int n) //作為陣列定義形式int main(void)

;int m;

m=max(a,5); //陣列名用為實參printf("a的最大值:%d\n",m);

return 0;}

c++ 怎麼把字元陣列當作函式引數傳遞?

7樓:匿名使用者

以指標方式 或 陣列方式都可以實現引數傳遞,實際上都是將陣列的首位址傳遞到子函式中去。

如:#include

#include

void fun1( char *pstr )void fun2( char arr )int main()

8樓:匿名使用者

c++不能傳陣列,傳的是第乙個陣列元素的位址。

void f(int array[10])void f(int array)

void f(int *array)

三種一樣的意思,最好寫成指標形式。

在c++中,用陣列,指標,和什麼作為函式引數,能夠將引數值帶回

9樓:

除了引用可以將引數值帶回外其餘的(陣列,指標等)都沒有這種能力!如果原題確實是這麼出的,那只能說明出題者是c++半吊子……

10樓:匿名使用者

引用,三者的本質都是指標

11樓:wl梢包

還有 引用&和全域性變數

12樓:匿名使用者

位址,三者的本質都是位址

c++如何將二位字元陣列作為引數傳遞給函式

13樓:優就業張老師

1 靜態的二維陣列。

也就是形式為char a[m][n]形式的陣列,在傳引數的時候,需要在形參中指明二維陣列的寬度,也就是n值。

可以寫成char a[m][n]的形式,也可以寫成char a[n]的形式。

另外,由於靜態陣列的單元是連續的,也可以轉成一維陣列傳入,並在其它引數中指明二維陣列的長和寬。不過在函式中訪問時需要做對應的轉換。

2 動態二維陣列,即char ** p;在p上分配的二維陣列,本質上為二維指標。 可以直接以char **型別引數傳入。

c++ 「陣列可以通過值引數和引用引數兩種方式傳遞給函式」的說法對否?

14樓:匿名使用者

不對。int,char或者自定義的類可以通過值引數和引用引數兩種方式傳遞給函式,陣列不行。

陣列是兩種指標傳遞:

void sort(int *a); //對於指標a來說是值傳遞,對於陣列來說是指標傳遞

void sort(int a[100]); //這種方法類似於引用,但實質上還是指標傳遞

15樓:謝3哥

當然對了

1,引用 int aaaa(int& a);

2,值 int bbbb(int b);

在c中如何將陣列型別和長度作為引數傳入

陣列型別可以自定義巨集 比如 int 定義成 1,char 定義成 2 define typeint 1 長度,是多少就傳多少唄。ps 完全不理解你為什麼要把陣列型別和長度傳成引數幹嘛用 function t t,int length 給陣列賦值的時候就可計算出陣列的長度.你要實現什麼功能,如果說僅...

c語言中,整個陣列可以作為函式的返回值嗎

要知道,在c語言中返回值都是唯一的乙個值,所以說整個陣列的各個元素值是不可以一次性作為返回值的,但是通常為了返回乙個陣列,我們用的是返回這個陣列的首位址這種方法。你好,返回陣列名返回的只能夠是陣列在記憶體空間中的首位址位置 建議樓主可以建立全域性陣列,這樣就可以在區域性函式中修改陣列的值了 有不懂的...

js函式中如何傳遞陣列引數,js中function的引數是陣列,要怎麼傳參

將引數構造成陣列形式 var a new array a 0 1 a 1 2 a 2 3 show a function show arrayobj js中function的引數是陣列,要怎麼傳參 由於function的引數是陣列,那麼傳入引數也設定為陣列,然後按照一般的傳參方式傳入即可。舉個例子 ...