#include <stdio.h>
#include <stdlib.h>  // required for malloc

int* func2()
{
   int *x = (int *) malloc(sizeof(int));
   printf("in func2\n");
   *x = 50;
   return x;
}

void func1()
{
   int *y;
   printf("in func1\n");
   y = func2();
   if (y != 0) {
      printf("*y = %d\n", *y);
   }
   free(y);
}

int main()
{
   func1();
   return 0;
}