gpt4 book ai didi

c - 取消引用三重指针

转载 作者:太空宇宙 更新时间:2023-11-04 02:09:46 25 4
gpt4 key购买 nike

struct integer3_1 {
int value3;
};

typedef struct integer3_1* intPtr;

struct integer3{
intPtr* vPtr;
};

typedef struct integer3* intpointer3;

int main() {
int value = 5;
intpointer3 intPtr3 = (intpointer3)malloc(sizeof(struct integer3));
//(*intPtr3->vPtr)->value3 = value;
//(*(*intPtr3).vPtr)->value3 = value;
//(*intPtr3->vPtr)->value3 = &value;
//(*(*intPtr3).vPtr)->value3 = &value;

return;

}

你好,我有一个问题

如何取消引用 intPtr3 以便能够将 5 的值存储到 intPtr3->vPtr->value3

我尝试了几种方法,但我一直收到错误@@a


第二部分

//1st line
intpointer3 intPtr3 = (intpointer3)malloc(sizeof(struct integer3));
//2nd line
(*intPtr3).vPtr = (intPtr*)malloc(sizeof(intPtr));
//3rd line
*((*intPtr3).vPtr) = (intPtr)malloc(sizeof(struct integer3_1));

1) 在第一行,它为 intpointer3 分配了一个存储空间?

2) 在第 2 行,您取消引用并为 intPtr 分配存储空间?

3) 在第 3 行,您取消引用了什么?你分配了什么存储空间?

4)

之间有什么区别
(intpointer3)malloc(sizeof(struct integer3));

malloc(sizeof(struct integer3));

?

最佳答案

问题不在于取消引用。您还没有为 integer3_1 分配内存。

关于c - 取消引用三重指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15860574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com