2010-11-27 48 views
0

我想通過調用該函數三次使用函數來填充不同的數組與數據。當使用不同參數的函數時,我在函數原型中放入了什麼?

// Function prototype 

void fill_array(); 

int main() 

{ 

    int bin_array[15], 

     prb_array[15], 

     seq_array[15]; 

    fill_array(bin_array); 

    fill_array(prb_array); 

    fill_array(seq_array); 

    return 0; 

} 

我的問題是,我應該把什麼參數放在函數原型中?三個全部?

// Function prototype 
void fill_array(insert parameter here); 

回答

2

在原型,你甚至不必把任何名義所有,只是類型:

void fill_array(int[]); 

當你定義的功能,但是,你需要一個名字。然而,它可以是任何你想要的:

void fill_array(int joe[]) { 
    //... 
} 

編輯:雖然沒有直接關係到手頭的問題,birryree是一個很好的觀點。通常你應該傳遞一個數組的大小爲好,否則fill_array不知道數組有多大:

void fill_array(int[], int); 

void do_stuff() { 
    int bin_array[15], 

     prb_array[15], 

     seq_array[15]; 

    fill_array(bin_array, sizeof(bin_array)/sizeof(int)); 
    fill_array(prb_array, sizeof(prb_array)/sizeof(int)); 
    fill_array(seq_array, sizeof(seq_array)/sizeof(int)); 
} 

void fill_array(int bob[], int length) { 
    for(int i = 0; i < length; i++) { 
     bob[i] = i * 3; 
    } 
} 
+2

你可能會想添加第二個參數指定元素的數量,因爲你可以在傳遞給函數後不會獲得數組的大小。 – birryree 2010-11-27 04:02:20

相關問題