如何输出这个程序

时间:2013-08-27 14:49:46

标签: c linux

运行x86_64机器的C程序,想知道输出是怎么来的

main()
 {
 int  *mess;
mess=malloc(1);
mess[0]=1;
//mess[1]=2; 
printf("%d",mess);
}

现在这里输出的是6295568

怎么样?

1 个答案:

答案 0 :(得分:6)

您正在打印存储int的地址。你需要

printf("%d",*mess);

打印其值。

你也为你的int分配的空间太少,你应该这样做:

int *mess = malloc(sizeof(int));

而不是

int *mess = malloc(1);