关于 Getmem函数与Allocmem的不同点?(37分)

  • 主题发起人 主题发起人 元无天
  • 开始时间 开始时间

元无天

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:
Getmem 函数 与Allocmem函数在使用上有什么区别?
如果这样使用,其原理是否一样?
var
Source :Pchar;
Getmem(source,255);
与 Source :=AllocMem(255);
另个,为什么要进行内存的分配呢?
 
你看看源码就知道咯。
 
AllocMem是在sysutils单元定义的,它实际是调用getmem后将所得内存块的内容全部用0填充
getmem在system单元定义的,只是按指定大小分配内存并不做其它的工作
->为什么要进行内存的分配
这是由于你在声明变量时,只是用的指针变量,而它实际只是指向一个内存地址,它的大小根据系统
是固定长度的,这时实际的存储空间并没有分配,不能存储内容,只有分配空间后才能使用.
这就好比房间号与房间的关系.房间号并不能住,只有为这个房间号指定分配一个房间后才能使用.
我说的不太明白,你自己去领会吧
 
后退
顶部