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用多維陣列名作為函式引數時,如果陣列的行和列均是變數,怎麼辦
陣列的行和列均是變數,需要動態開陣列,在c 裡面需要用到new動態開一個二維陣列 int irow 5 int iline 5 int parry new int irow for int i 0 i 用完陣列後需要釋放,for int i 0 i delete parry 俎晨朗 打個比方,比如說...
C語言,使用指標作為函式引數,寫一求陣列中最大值和最小指的函
娛樂小八卦啊 include void maxminvalue int b,int n propotype int max,min define global variables void main int i,a n n sizeof a sizeof a 0 maxminvalue a,n ca...
C陣列的引用做函式引數怎麼寫,c 中關於陣列作為函式引數的幾種方法
陣列名作函式引數 陣列名可以作函式的實參和形參。如 12 3456 78910 11main f int arr,int n array為實引數組名,arr為形引數組名。在學習指標變數之後就更容易理解這個問題了。陣列名就是陣列的首地址,實參向形參傳送陣列名實際上就是傳送陣列的地址,形參得到該地址後也...