MyException - 我的异常网
当前位置:我的异常网» C语言 » 问一上C指针的有关问题

问一上C指针的有关问题(2)

www.MyException.Cn  网友分享于:2013-02-18  浏览:2次

你所说的内存区:
指的是系统内核将真实的内存映射成的虚拟内存,32位系统就是映射4G个虚拟内存地址,其中有1G个被内核占用。然后就是咱们看到3G个。。你所说的内存区就是指的这3G个内存地址,计算机中所有的操作都在这些地址里存放,无论是指针还是变量,具体可以看一下c语言存储空间布局。虚拟内存地址对应着真实的硬件内存物理地址
------解决方案--------------------
LS的那位,我看到啥三极管就不想往下看了。。

所谓内存区,是由编译器决定,OS分配的。。

然后所谓的堆和栈,对编译器、对OS来说木有任何区别。。~~

32位系统的OS可以分配给每个进程4G的内存空间(2的32次就是4G,然后别去管什么核心区用户区的),你所说的内存区就是指这一块内存(当然是虚拟或者逻辑的,不是物理的)。。。
------解决方案--------------------
int *p这个指针是静态分配的,在栈里面分配的, p=&a就指向一个内存区,free(p)之后那么指向的内存权限还给了操作系统

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有