一、malloc能分配物理内存吗?
malloc返回的地址只是逻辑地址空间的一个地址值。在使用该地址的时候才由操作系统映射到物理内存去访问内存数据。不存在malloc直接返回物理内存的说法。即使用VirtualAlloc分配的虚拟内存,提交以后还是照样要分配物理内存。
知道使用的地址是逻辑空间地址,使用该地址的时候由操作系统做映射到物理内存的动作就可以了。
二、malloc能够分配的最大的内存
不确定
与使用的OS,编译器有关
有的是最大的空闲物理内存,有的是最大的空闲物理内存+虚拟内存
三、可以使用void指针释放内存吗?
可以
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
void* ptr;
ptr=malloc(100*sizeof(char));
free(ptr);
system("pause");
return 0;
}