如果我有一个指向消息缓冲区的指针,我如何将 memcpy() 放入该缓冲区?例如说我有以下内容:
char **buffer;
char data[10]
memcpy(*buffer, data, 10);
但这似乎不起作用并且总是使我的程序崩溃,但是编译器并不介意。有人可以告诉我为什么吗?顺便说一句,我有一个 char ** 缓冲区的原因是因为它作为函数的参数传递。
最佳答案
指针变量buffer
没有指向任何东西。您需要分配内存并使 buffer
指向它。例如:
buffer = malloc(sizeof(*buffer));
*buffer = malloc(10);
memcpy(*buffer, data, 10);
关于c - 在 char ** 缓冲区上使用 memcpy(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20012983/