有关于函数和数组的问题.假设我有这个
int example1(unsigned int hold[], size)
{
....
}
Run Code Online (Sandbox Code Playgroud)
然后在另一个函数中我想调用我的示例1函数,但不是传递数组我想传递一个整数,所以像这样
int example2(unsigned int hold)
{
int i;
for(i = 0; i < 10; i++)
example1(hold,i);
}
Run Code Online (Sandbox Code Playgroud)
我将如何使它工作
dbu*_*ush 11
您的example1
函数获取指向int
数组的第一个元素的指针.由于指向单个变量的指针本质上等同于指向数组第一个元素的指针,因此您只需传递int
大小为1的单个地址:
example(&hold, 1);
Run Code Online (Sandbox Code Playgroud)
可以传递一个指向value的指针来代替只有1个元素的数组; 你的循环example1
假设一个大于1的数组.
由于您传递的i
是大小,因此请创建一个i
元素数组,使用一些值进行设置,然后将其传递给example1
,如下所示:
for(size_t i = 0 ; i < 10 ; i++) {
unsigned int arg[i+1];
for (size_t j = 0 ; j != i ; j++) {
arg[j] = value;
}
example1(arg, i);
}
Run Code Online (Sandbox Code Playgroud)