青楼名妓 童珍,红楼邢夫人的康平一生,赵五庆
[cpp]
#include<stdio.h>
#include<stdlib.h>
void main(){
float *p = (float *)malloc(sizeof(float));
//申请空间,如果成功返回空间地址,如果失败返回null
*p = 10.0;//赋值
printf("内存里的值=%f\n",*p);
printf("内存的内存地址=%p\n",p);
free(p);//释放空间
printf("释放后的内存里的值=%d\n",*p);
printf("释放后的内存地址=%p\n",p);
//释放空间后,内存空间是没有消失的,依然存有那个空间地址;
//却交给其它程序使用了,这个时候如果你再次使用这个空间地址,
//就会把里面的数据破坏掉
//所以这个时候要二次释放:
//free(p);
//但是这个会导致错误,为了避免出错,要记得进行下面的操作:
p = null;
printf("清空后的内存地址=%p\n",p);
}
结果:
内存里的值=10.000000
内存的内存地址=00540f08
释放后的内存里的值=-1610612736
释放后的内存地址=00540f08
清空后的内存地址=00000000
press any key to continue
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论