#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char * argv[])
{
int i=0;
int *p=(int*)malloc(4*sizeof(int));
*p = 1;
*(p+1) = 10;
*(p+2) = 100;
*(p+3) = 1000;
for(i=0;i<4;i++)
{
printf("%d\n",*(p+i));
}
free(p);
printf("%d\n",*p);
return 0;
}
这个函数最后一句打印的结果为什么不是1呢,虽然内存释放了,但指针的地址还是存在的呢,求解。 |
|