c - 传递函数 char 参数返回错误

标签 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*)

最佳答案

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

所以你要么像这样调用这个函数:

getLine(cmd, &line);

或者像这样改变函数声明:

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

关于c - 传递函数 char 参数返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939506/

相关文章:

c++ - 将指针 push_back 到指针 vector 中是内存泄漏吗?

c - 数组名是指针吗?

c - 调试断言失败,使用 C 的输入格式无效

c++ - 如何编写一个接受具有相同接口(interface)的不同类型参数的函数?

c - C 中的指针转换

c - free() 使用不同的指针释放相同的堆内存

c++ - 将带符号的 Int 转换为带空格的十六进制字符串

c - 我如何理解 typedef int (*ibm_ldap_search_s)(LDAP *, char *, int , char *, char * [],int , LDAPMessage **)

javascript - 在函数调用时将数组解析为字符串

mysql - 如何使用 bash 脚本转储远程 mysql 数据库并在本地导入它