int* x = (int*)malloc(sizeof(int)),
y = (int*)malloc(sizeof(int)),
z = (int*)malloc(sizeof(int));
*x = 14; *y = 15; *z = 16;
printf("(%d, %d, %d)\n", *x, *y, *z);
/* На экране имеем: (14, 15, 16) */
*z = *x;
printf("(%d, %d, %d)\n", *x, *y, *z);
/* На экране: (14, 15, 14) */
y = x; // !!! Память, отведенная при объявлении y, становится недоступной
printf("(%d, %d, %d)\n", *x, *y, *z);
/* На экране: (14, 14, 14) */
*x = -14; *y = -15; *z = -16;
printf("(%d, %d, %d)\n", *x, *y, *z);
/* На экране: (-15, -15, -16) */
Замечание. Память, отведенная при инициализации указателю y, становится недоступной ("подвисшей").