int *p=new int[10];
p在声明时被定义赋值,既new函数返回的一个地址(这个地址是计算机随机分配的用户指定大小的一块内存地址的最低位).
计算机前1024K以外的内存就是我们的程序使用的内存,其实只是分为2种:使用中内存和空闲内存.
计算机对使用中内存不能再进行分配操作,只能在空闲内存中选择.
new分配内存,就是告诉计算机这块内存现在属于被使用状态,以后的内存分配不能在用这块内存.
而delete则是告诉计算机这块内存为空闲内存,以后的内存分配可以使用这部分内存地址.
内部存储和外部存储我想在这方面也是相似的吧?
比如清空回收站就是一个例子:
很多时候即使你清空回收站,一些高手还是可以把很多数据恢复.
我认为:
原因也就是回收站被清空只是告诉计算机这部分外部存储单元已经为闲置部分,可以对这部分存储单元进行写操作。未闲置部分不允许写操作,被计算机保护.
所以只要回收站被清空后,位进行任何数据写操作的话,也是可以把删除的数据还原的,具体操作不会.