bywfssl 2017-08-02 11:36 采纳率: 50%
浏览 1751
已采纳

C语言什么是释放内存啊?

如果两个指针指向同一块内存,只需要释放一次就可以,然后将两个指针赋空。用第一个指针释放了这块内存之后,第二个指针指向的地址就不可用了,再用这个指针去释放就会出现重复释放。

图上12.9.2说的是什么意思啊?,释放内存是什么?图片说明

  • 写回答

1条回答 默认 最新

  • 尤里安龙卷风 2017-08-02 14:14
    关注

    计算机有个叫操作系统的东西,你写的程序是由这个操作系统来管理的。操作系统不但管你程序的执行过程,还管你程序其他有关的资源,比如环境配置、内存空间之类的。
    计算机给你程序分配的内存你的程序才能用,不归你的你就不能用,否则一个程序可以用其他程序的内存,不但不安全,而且很容易乱套的
    回到你问的问题,你的程序要用到动态空间就必须提前向操作系统申请一个内存空间。用完了这个内存空间就必须向操作系统申请释放空间,否则不释放的话你的程序用的空间越来越多,内存就这么大其他程序就没有空间用了。
    那比如申请了一个内存空间a,这个时候A指针和B指针都指向了a。然后用A指针想操作系统申请释放了空间,也就是说把这个内存空间还给了操作系统,操作系统就可以把它再分给别的程序,你这个程序就不能再用了。所以你用B指针再去访问那个空间的时候,那个空间已经不属于你了,就会出现上面说的错误。如果还要申请动态内存的话就继续向系统申请,不够是不是原来那个内存地址就不一定了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?