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) 在第二行,您取消引用并为 intPtr 分配存储空间?
3)在第 3 行,你取消引用了什么?你分配了什么存储空间?
4)有什么区别
(intpointer3)malloc(sizeof(struct integer3));
和
malloc(sizeof(struct integer3));
?