简单的C函数调用

时间:2011-12-29 02:53:24

标签: c function

尝试在C中调用此函数而没有任何真正的运气:

int sendcommand(char str[256], char reply[256])

我尝试了许多变体,例如:

char request[] = "help";
char response[];
int result = sendcommand( request, *response );

我实际上已经完成了一些C和C ++,但由于某种原因,我错过了一些非常基础的船。

2 个答案:

答案 0 :(得分:6)

你甚至不知道什么是正确的,你可以看到你的电话是错的......

int sendcommand(char str[256], char reply[256])

具有相同签名的两个形式参数。

char request[] = "help";
char response[];

两个具有相同类型的真实参数。

那么为什么在传递它们时会使用不同的语法?


当然,这并不是全部错误,您需要声明响应参数的大小足以返回值。将其声明为为formal参数指定的大小是最安全的。

char request[] = "help";
char response[256];
int result = sendcommand( request, response );

答案 1 :(得分:3)

response是一个指针,但当函数采用char时,您将其取消引用到char*

这应该有效:

int result = sendcommand(request, response);