やってみる :
#include <stdio.h>
#include <malloc.h>
void foo(int* x)
{
x = (int *)malloc(sizeof(int));
*x = 5;
}
int main()
{
int a;
foo(&a);
printf("%d\n",a); //a = -858993460
return 0;
}
なぜ a != 5 の値。このコードをvs2010、windows 7で実行します。