陣列與函數

可以把變數、指標傳入函數
當然
陣列也可以
要怎麼把陣列傳入函數呢?

傳入陣列
不同於傳入變數
實際上
當我們傳入陣列時
傳入的是陣列的位址
所以在函數中可以改變陣列元素的值

函數的宣告

傳回值型態 函數名稱 (資料型態 []);
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]

有疑問? 留個言吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料