c - 将指向指针的指针分配给指向结构内部指针的指针

标签 c pointers struct void-pointers

我正在编辑别人的代码并试图理解它。该函数传入一个参数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/

相关文章:

c - Zlib 解压缩 C 中未知压缩长度的字节

c - 使用指针反转 C 中的字符串

c - C中struct的动态分配

arrays - 如何在golang中将项目添加到struct中的数组

c - 如何在 C 结构中访问指向二维数组的指针?

c - Windows 上的 StackWalk64 - 获取符号名称

c - 返回指针后出现段错误

c - 无法在线程内用 C 打印?

c++ - 取消引用 NULL 指针是否被视为未指定或未定义的行为?

c - Doxygen 文档结构成员与属性