I want to change member of structure under double pointer. Do you know how?
Example code
typedef struct {
int member;
} Ttype;
void changeMember(Ttype **foo) {
//I don`t know how to do it
//maybe
*foo->member = 1;
}
I want to change member of structure under double pointer. Do you know how?
Example code
typedef struct {
int member;
} Ttype;
void changeMember(Ttype **foo) {
//I don`t know how to do it
//maybe
*foo->member = 1;
}
Try
(*foo)->member = 1;
You need to explicitly use the * first. Otherwise it's an attempt to dereference member.
changeMember()
, and you link the executable with the library that contains the function. That's all completely routine. If you mean something else, you should probably ask your own new question so you can explain properly. –
Animate Due to operator precedence, you need to put parentheses around this:
(*foo)->member = 1;
You can use a temp variable to improve readability. For example:
Ttype *temp = *foo;
temp->member = 1;
If you have control of this and allowed to use C++, the better way is to use reference. For example:
void changeMember(Ttype *&foo) {
foo->member = 1;
}
maybe (*foo)->member = 1 (if it's dynamically allocated)
© 2022 - 2024 — McMap. All rights reserved.