C参数定义问题
当我想传递一个“C参数定义问题,c,C,当我想传递一个“char(*c)[10];”作为参数时, 我应该在函数定义中定义什么参数 我的意思是,如果我有一个函数: void foo(*****) { ... } 我想传递char(*c)[10]到它,那么我应该写什么来代替******?这应该很好: void foo(char (*c)[10]); 您应该能够在声明时简单地传递它: void foo(char (*c)[10]); 并称之为: foo(c); 这是关于这个主题的最佳帖子:将函数定义为: void foo(char
char(*c)[10];
”作为参数时,
我应该在函数定义中定义什么参数
我的意思是,如果我有一个函数:
void foo(*****) { ... }
我想传递char(*c)[10]代码>到它,那么我应该写什么来代替******
?这应该很好:
void foo(char (*c)[10]);
您应该能够在声明时简单地传递它:
void foo(char (*c)[10]);
并称之为:
foo(c);
这是关于这个主题的最佳帖子:将函数定义为:
void foo(char (*c)[10])
{
for (int i = 0; i < sizeof(*c); i++)
printf("%d: %c\n", i, (*c)[i]);
}
int main(void)
{
char a[10] = "abcdefghi";
char (*c)[10] = &a;
foo(c);
return(0);
}
任何原因void foo(char(*c)[10])
是作为foo(c)
传递的可撤消的?typedef通常使函数指针更具可读性。