1樓:匿名使用者
陣列名作函式引數
陣列名可以作函式的實參和形參。如:12
3456
78910
11main()
f(int arr,int n)
array為實引數組名,arr為形引數組名。在學習指標變數之後就更容易理解這個問題了。陣列名就是陣列的首地址,實參向形參傳送陣列名實際上就是傳送陣列的地址,形參得到該地址後也指向同一陣列。
這就好象同一件物品有兩個彼此不同的名稱一樣。
同樣,指標變數的值也是地址,陣列指標變數的值即為陣列的首地址,當然也可作為函式的引數使用。
歸納起來,如果有一個實引數組,想在函式中改變此陣列的元素的值,實參與形參的對應關係有以下4種:
形參和實參都是陣列名。12
main()}1
a和x指的是同一組陣列。
實用陣列,形參用指標變數。12
3456
78910
11main()
f(int *x,int n)
實參、型參都用指標變數。
實參為指標變數,型參為陣列名。
c++中關於陣列作為函式引數的幾種方法
2樓:折柳成萌
對於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++ 「陣列可以通過值引數和引用引數兩種方式傳遞給函式」的說法對否?
3樓:匿名使用者
不對。int,char或者自定義的類可以通過值引數和引用引數兩種方式傳遞給函式,陣列不行。
陣列是兩種指標傳遞:
void sort(int *a); //對於指標a來說是值傳遞,對於陣列來說是指標傳遞
void sort(int a[100]); //這種方法類似於引用,但實質上還是指標傳遞
4樓:謝3哥
當然對了
1,引用 int aaaa(int& a);
2,值 int bbbb(int b);
c++ 怎麼把字元陣列當作函式引數傳遞?
5樓:陳mc樂園
以指標方式或數bai組的方式都可以實du現引數傳遞zhi的,實際上都是將dao陣列的首地址傳遞專到子函式中去的。屬例如:#include
#include
void fun1( char *pstr )void
fun2( char arr )
int main()
6樓:匿名使用者
c++不能傳陣列,傳bai的是第一個du陣列zhi元素的地址。dao
void f(int array[10])void f(int array)
void f(int *array)
三種一樣的意思,最好寫版成指標形式。權
7樓:匿名使用者
以指標方式bai 或 陣列方du式都可以實現引數傳遞,實際zhi上dao都是將陣列的首版地址傳遞到子函式中去。權如:#include
#include
void fun1( char *pstr )void fun2( char arr )int main()
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 字串陣列如何作為函式引數
sizeof string 由於它們都是和系統相關的 我的作業系統是32位的 所以在不同的系統下取值可能不同,這務必引起注意,儘量不要在這方面給自己程式的移植造成麻煩。一般情況下,在32位系統中,sizeof string 為16位元組。sizeof都和記憶體中的儲存方式有關。你這裡沒有理清楚陣列函...
c陣列可以通過值引數和引用引數兩種方式傳遞給函式”的說法對否
不對。int,char或者自定義的類可以通過值引數和引用引數兩種方式傳遞給函式,陣列不行。陣列是兩種指標傳遞 void sort int a 對於指標a來說是值傳遞,對於陣列來說是指標傳遞 void sort int a 100 這種方法類似於引用,但實質上還是指標傳遞 謝3哥 當然對了 1,引用 ...