#include <stdio.h>
#include <stdlib.h>

void f(){ 
  int x = 123; 
  int *px; 
  int **ppx; 
  
  px =  malloc(sizeof(int)); 
  /* 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); */
  free(px);
}

int main(void) {
	f();
	return 0;
}
