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
我尝试了一些办法,但我一直收到错误@@一个
第二部分
//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)在第三行,你有什么解除引用?你有什么存储分配?
4)是什么
(intpointer3)malloc(sizeof(struct integer3));
和
malloc(sizeof(struct integer3));
之间的区别?
我试过了代码,但它不工作? – 2013-04-07 09:20:08
@RexRau ..你面临任何“编译”问题或'运行时问题?我在'gcc'上试了这个,它在我的最后工作。 – Ganesh 2013-04-07 09:48:04
ggc是编译器?我使用visual stdio 2012,我认为代码不适用于视觉stdio? – 2013-04-07 11:19:41