malloc分配疑问

作者: zhangyuxiu 2014-02-10 15:11:07
最近学习用户空间的内存分配知识,了解到用户通过malloc()函数,最终调用brk()或者mmap()分配内存。
两种分配方式都是只分配虚拟内存,不分配物理内存;第一次访问已分配的虚拟地址空间时,缺页中断,OS分配物理内存,建立物理内存和虚拟内存映射关系。


疑问:
1、linux C编程中,使用malloc函数返回的是虚拟空间地址还是物理空间地址?
2、malloc 40个字节,访问第100个字节为什么不会报错?

如下代码:
int * p = (int *) malloc(sizeof(int)*40);
cout << *(p+100);

相关资讯