陣列與函數

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

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

函數的宣告

傳回值型態 函數名稱 (資料型態 []);
Ex:

#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>

 

函數的定義

傳回值型態 函數名稱 (資料型態 陣列名稱 []){
                                ………..
}
Ex:

#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>

函數的宣告

函數名稱(陣列名稱);
Ex:

#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>

建議:

傳入陣列的同時
也加上另一引數
分開傳入元素大小
方便函數執行

Ex:

#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; 
   
  }
 
}

有疑問? 留個言吧!

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