#include<stdio.h>
#include<stdlib.h>
struct temp
{
int var1;
};
struct temp* doThis()
{
struct temp
* x
= (struct temp
*)malloc(sizeof(struct temp
)); x->var1 = 10;
return x;
}
void doThat(void* x)
{
struct temp * x2 = (struct temp *) x;
printf("x2->var1 = %d\n", x2
->var1
);
struct temp** x3 = x;
printf("x3->var1 = %d", (*x3
)->var1
); }
int main()
{
struct temp * x = doThis();
printf("x->var1 = %d\n", x
->var1
); doThat(&x);
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CgpzdHJ1Y3QgdGVtcAp7CiAgICBpbnQgdmFyMTsKfTsKCnN0cnVjdCB0ZW1wKiBkb1RoaXMoKQp7CiAgc3RydWN0IHRlbXAqIHggPSAoc3RydWN0IHRlbXAqKW1hbGxvYyhzaXplb2Yoc3RydWN0IHRlbXApKTsKICB4LT52YXIxID0gMTA7CiAgcmV0dXJuIHg7Cn0KCnZvaWQgZG9UaGF0KHZvaWQqIHgpCnsKICBzdHJ1Y3QgdGVtcCAqIHgyID0gKHN0cnVjdCB0ZW1wICopIHg7CiAgcHJpbnRmKCJ4Mi0+dmFyMSA9ICVkXG4iLCB4Mi0+dmFyMSk7ICAgIAogIAogIHN0cnVjdCB0ZW1wKiogeDMgPSB4OwogIHByaW50ZigieDMtPnZhcjEgPSAlZCIsICgqeDMpLT52YXIxKTsKfQoKaW50IG1haW4oKQp7CiAgc3RydWN0IHRlbXAgKiB4ID0gZG9UaGlzKCk7CiAgcHJpbnRmKCJ4LT52YXIxID0gJWRcbiIsIHgtPnZhcjEpOwogIGRvVGhhdCgmeCk7Cn0K