Что я помещаю в прототип функции при использовании этой функции с другими параметрами? - PullRequest
0 голосов
/ 27 ноября 2010

Я хочу использовать функцию для заполнения различных массивов данными, вызывая эту функцию трижды.

// 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);

1 Ответ

2 голосов
/ 27 ноября 2010

В прототипе вам даже не нужно вводить имя вообще, просто введите:

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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...