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的引數是陣列,那麼傳入引數也設定為陣列,然後按照一般的傳參方式傳入即可。舉個例子 ...