C 当使用不同参数的函数时,我应该在函数原型中添加什么?
我想使用一个函数通过三次调用该函数来用数据填充不同的数组C 当使用不同参数的函数时,我应该在函数原型中添加什么?,c,C,我想使用一个函数通过三次调用该函数来用数据填充不同的数组 // 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();
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);
在原型中,您甚至不必输入任何名称,只需输入:
void fill_array(int[]);
但是,在定义函数时,需要一个名称。但是,它可以是您想要的任何东西:
void fill_array(int joe[]) {
//...
}
编辑:尽管与手头的问题没有直接关系,Birryrree提出了一个很好的观点。通常也应该传递数组的大小,否则fill\u 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;
}
}
void fill_数组(int[],int);
void do_stuff(){
int bin_数组[15],
prb_阵列[15],
seq_数组[15];
fill_数组(bin_数组,sizeof(bin_数组)/sizeof(int));
fill_数组(prb_数组,sizeof(prb_数组)/sizeof(int));
fill_数组(seq_数组,sizeof(seq_数组)/sizeof(int));
}
空填充数组(整数bob[],整数长度){
for(int i=0;i
您可能需要添加第二个参数来指定元素的数量,因为在将数组传递给函数后无法获得数组的大小。我想您的意思是sizeof(bin_数组)/sizeof(*bin_数组)
。另外,对于原型,在作为文档的过程中包含参数名也很有用。@strager:Whoops,我的错。我假设返回元素的大小,而不是字节。我已经改正了。谢谢大家,简单的东西很容易忘记。。后来我就像是d'oh哈哈。