int *intPointer = (int *)malloc(3 * sizeof(int));
intPointer[0] = 1;
intPointer[1] = 2;
intPointer[2] = 3;
printf("before free :%ld\n",intPointer);
free(intPointer);
printf("after free :%ld\n",intPointer);
printf("%d\t%d\t%d\n",intPointer[0],intPointer[1],intPointer[2]);
输出结果:
before free :4296037472
after free :4296037472
1 2 3
疑问:free(intPointer)之后,为什么还能通过intPointer访问malloc分配的那片内存?