Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 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*)
您的函数参数类型是char *. 所以你不需要使用&cmd. 只需使用cmd将传递该数组的基地址。
char *
&cmd
cmd
因此,您可以像这样调用函数:
getLine(cmd, &line);
或更改函数声明,如:
int getLine(char **cmdl, char *str)
正如 Midhun MP 已经说过的,数组已经作为指针/引用传递,所以不需要在函数调用中引用它。