如果我有一个指向消息缓冲区的指针,我如何memcpy()进入该缓冲区?例如,说我有以下内容:
char **buffer;
char data[10]
memcpy(*buffer, data, 10);
但这似乎不起作用并且总是崩溃我的程序,但是编译器没有想到。有人可以告诉我为什么吗?顺便说一下,我有一个char **缓冲区的原因是它被作为函数的参数传递。
答案 0 :(得分:2)
指针变量buffer
不指向任何内容。您需要分配内存并使buffer
指向它。例如:
buffer = malloc(sizeof(*buffer));
*buffer = malloc(10);
memcpy(*buffer, data, 10);