【发布时间】:2022-01-22 09:32:49
【问题描述】:
我正面临 char* 变量的奇怪行为
user_message* parseMessage(char *incoming_msg, uint64_t size)
{
user_message* msg = calloc(1, sizeof(user_message));
printf("value: %s\n", incoming_msg);
return msg;
}
void start_server()
{
char* msg = "1|david|pwd|";
printf("msg: %s\n", msg);
parseMessage(&msg, 12);
}
输出:
msg: 1|david|pwd|
value: �[
我很难弄清楚我的代码有什么问题。
【问题讨论】:
-
您将
char**传递给一个接受char*的函数。 -
如果您没有看到此代码的错误消息,请更改您的编译器设置,以便您看到。尝试运行由错误程序生成的任何二进制文件完全是浪费时间
标签: c arguments undefined-behavior function-declaration