如何使用指针指向指向C中的结构?[英] How to work with pointer to pointer to structure in C?

本文是小编为大家收集整理的关于如何使用指针指向指向C中的结构?的处理方法,想解了如何使用指针指向指向C中的结构?的问题怎么解决?如何使用指针指向指向C中的结构?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我想在双指针下更改结构成员.你知道怎么吗?

示例代码

typedef struct {
    int member;
} Ttype;

void changeMember(Ttype **foo) {
   //I don`t know how to do it
   //maybe
   *foo->member = 1;
}

推荐答案

尝试

(*foo)->member = 1;

您需要明确使用 *.否则,这是一个试图解释成员.

其他推荐答案

由于操作员优先级,您需要围绕以下括号:

(*foo)->member = 1;

其他推荐答案

您可以使用温度变量来提高可读性.例如:

Ttype *temp = *foo;
temp->member = 1;

如果您可以控制并允许使用C ++,那么更好的方法是使用参考.例如:

void changeMember(Ttype *&foo) {
   foo->member = 1;
}

本文地址:https://www.itbaoku.cn/post/359307.html