gpt4 book ai didi

C 编程 : Received data is written to a pointer

转载 作者:行者123 更新时间:2023-12-02 08:51:22 31 4
gpt4 key购买 nike

所以我在 c 中有以下枚举方法:

enum enum_type GetInfo (int socket, unsigned char *data)
{
}

在 api 中我可以找到这个:

接收到的数据被写入指针 *data....

所以如果我正在做这样的事情:

unsigned char *data;
enum_type enum1;

enum1 = GetInfo (int socket, data);

我遇到了段错误。

我的问题是什么?

谢谢,西蒙

最佳答案

您的问题是您没有为data 分配空间,但尝试写入它。做

unsigned char *data = malloc(sizeof(unsigned char) * MYBUFLENGTH);

然后将数据传递给GetInfo。最后别忘了

free(data);

或者,您可以在堆栈上分配空间(在 C99 中可用,一些编译器支持它作为扩展,即使是早期版本的 C 标准)

unsigned char data[MYBUFLENGTH];

在这种情况下,您不必担心内存管理。

关于C 编程 : Received data is written to a pointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8327291/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com