#include <stdio.h>
#include <malloc.h>

int main(void)
{
 int * msg = NULL;
 int * msg2 = NULL;
 int a = 2;

 msg = (int *)malloc(10);
 if(NULL == msg)
    {
  printf("msg malloc error!\n");
 }
 //  free(msg);    // 1

 if(NULL == msg2)
 {
  printf("msg2 malloc error!\n");
 }
  
 msg = &a;
 msg2 = msg;
 
 printf("msg %0x\n",msg);
 printf("*msg %0x\n",*msg);
 printf("&a %0x\n",&a);
 printf("a %0x\n",a);
 printf("msg2 %0x\n", msg2);
 printf("*msg2 %0x\n", *msg2);

// free(msg);   // 2
 msg = NULL;
 return 0;
}