我正在编辑别人的代码并试图理解它。该函数传入一个参数void **dst_val
。我不太擅长指点。我查看了所有关于堆栈溢出的远程相关帖子,但没有找到我要找的东西。
我有一个结构:
typedef struct {
u_int img_out_len;
char *img_out_val;
} img_out;
我声明了一个指向结构的指针:
img_out *clnt_res;
并为其分配内存。
现在,我很困惑。我需要将 void **dst_val
设置为指向结构指针内的 img_out_val
指针,但我无法弄清楚语法。为什么这些不正确,哪些是正确的?
dst_val = (void *)(*clnt_res).img_out_val; //wrong
dst_val = (void **)clnt_res->img_out_val; //wrong
我还应该注意到 img_out_val
指向二进制文件的数据。
编辑:
由于函数传入 void **dst_val
,我需要它在函数返回时指向二进制文件的数据。
最佳答案
如果frslm的anser不够好,你也可以试试
&(void*)clnt_res->img_out_val;
关于c - 将指向指针的指针分配给指向结构内部指针的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47601057/