#include <stdio.h>
#include <stdlib.h>
void f(){
int x = 123;
int *px;
int **ppx;
/* ppx = malloc(sizeof(int*)); */
*px = x; /*Initialisieren Sie den Inhalt der ersten Variable auf dem Heap mit dem Wert von x*/
ppx = &px; /*den Inhalt der zweiten Variable auf dem Heap mit der Adresse der ersten Variablen auf dem Heap*/
printf("x: %d\t Addr: %p\n", x
, (void*)&x
); printf("px: %p\t Addr: %p\n", (void*)px
, (void*)&px
); printf("pxx: %p\t Addr: %p\n", (void*)ppx
, (void*)&ppx
);
/* free(ppx); */
}
int main(void) {
f();
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgZigpeyAKICBpbnQgeCA9IDEyMzsgCiAgaW50ICpweDsgCiAgaW50ICoqcHB4OyAKICAKICBweCA9ICBtYWxsb2Moc2l6ZW9mKGludCkpOyAKICAvKiBwcHggPSBtYWxsb2Moc2l6ZW9mKGludCopKTsgKi8KICAKICAqcHggPSB4OyAvKkluaXRpYWxpc2llcmVuIFNpZSBkZW4gSW5oYWx0IGRlciBlcnN0ZW4gVmFyaWFibGUgYXVmIGRlbSBIZWFwIG1pdCBkZW0gV2VydCB2b24geCovCiAgcHB4ID0gJnB4OyAvKmRlbiBJbmhhbHQgZGVyIHp3ZWl0ZW4gVmFyaWFibGUgYXVmIGRlbSBIZWFwIG1pdCBkZXIgQWRyZXNzZSBkZXIgZXJzdGVuIFZhcmlhYmxlbiBhdWYgZGVtIEhlYXAqLwogIAogIHByaW50ZigieDogJWRcdCBBZGRyOiAlcFxuIiwgeCwgKHZvaWQqKSZ4KTsgCiAgcHJpbnRmKCJweDogJXBcdCBBZGRyOiAlcFxuIiwgKHZvaWQqKXB4LCAodm9pZCopJnB4KTsgCiAgcHJpbnRmKCJweHg6ICVwXHQgQWRkcjogJXBcbiIsICh2b2lkKilwcHgsICh2b2lkKikmcHB4KTsgCiAgCiAgLyogZnJlZShwcHgpOyAqLwogIGZyZWUocHgpOwp9CgppbnQgbWFpbih2b2lkKSB7CglmKCk7CglyZXR1cm4gMDsKfQo=