John
John

Reputation: 3

What do I put in the function prototype when using that function with different parameters?

I want to use a function to fill different arrays with data by calling that function thrice.

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

}

My question is, what parameters should I put up at the function prototype? All three?

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

Upvotes: 0

Views: 241

Answers (1)

Mike Caron
Mike Caron

Reputation: 14561

In the prototype, you don't even have to put any name at all, just the type:

void fill_array(int[]);

When you define the function, however, you need a name. However, it can be whatever you want:

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

Edit: Although not directly related to the problem at hand, birryree makes an excellent point. You should usually pass the size of an array as well, since otherwise fill_array doesn't know how big the array is:

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

Upvotes: 2

Related Questions