传递函数char参数返回错误

时间:2013-07-30 06:13:16

标签: c function pointers char

我是C编程的新手并试图找出为什么我在尝试将char变量传递给函数时出现错误

char cmd[100];
getLine(&cmd, &line);

功能声明:

int getLine(char *cmdl, char *str)

错误:

cannot convert char (*)[100] to char* for argument 1 to int getLine(char*, char*)

2 个答案:

答案 0 :(得分:2)

您的函数参数类型是char *。所以你不需要使用&cmd。只需使用cmd即可传递该数组的基址。

所以你要么像以下那样调用函数:

getLine(cmd, &line);

或更改函数声明,如:

int getLine(char **cmdl, char *str)

答案 1 :(得分:0)

正如Midhun MP已经说过的那样,Array已经作为指针/引用传递,所以不需要在函数调用中引用它。

相关问题