可以把變數、指標傳入函數
當然
陣列也可以
要怎麼把陣列傳入函數呢?
傳入陣列
不同於傳入變數
實際上
當我們傳入陣列時
傳入的是陣列的位址
所以在函數中可以改變陣列元素的值
函數的宣告
傳回值型態 函數名稱 (資料型態 []);
Ex:
[code language=”cpp”]
#include <iostream>
using namespace std;
void fun(int []); //宣告引數為整數型態陣列的函數
int main(){
}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>
[/code]
函數的定義
傳回值型態 函數名稱 (資料型態 陣列名稱 []){
………..
}
Ex:
[code language=”cpp”]
#include <iostream>
using namespace std;
void fun(int []);
int main(){
}
//函數定義
void fun(int arr[]){ //可以不必填入元素數目
}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>
[/code]
函數的宣告
函數名稱(陣列名稱);
Ex:
[code language=”cpp”]
#include <iostream>
using namespace std;
void fun(int []);
int main(){
int a[10]; //宣告整數型態的陣列
fun(a); //呼叫函數
}
void fun(int arr[]){
}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>
[/code]
建議:
傳入陣列的同時
也加上另一引數
分開傳入元素大小
方便函數執行
Ex:
[code language=”cpp”]
#include <iostream>
using namespace std;
void fun(int [],int n);
int main(){
int a[10]={1,2,3,4,5,6,7,8,9,10};
fun(a,10); //傳入陣列名稱以及元素數目
}
void fun(int arr[],int n){
for(int k=0;k<n;k++){ //有了元素數目,就方便for迴圈執行
cout << "第" << k << "的元素為" << arr[k] <<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>< endl;
}
}
[/code]