如何分配内存啊

如何分配内存啊


内存分配方式
内存分配方式有三种:
(1)       从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
(2)       在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
(3)       从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。
常见的内存错误及其对策
发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。有时用户怒气冲冲地把你找来,程序却没有发生任何问题,你一走,错误又发作了。
常见的内存错误及其对策如下:
u       内存分配未成功,却使用了它。
编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。常用解决办法是,在使用内存之前检查指针是否为NULL。如果指针p是函数的参数,那么在函数的入口处用assert(p!=NULL)进行检查。如果是用malloc或new来申请内存,应该用if(p==NULL) 或if(p!=NULL)进行防错处理。
u       内存分配虽然成功,但是尚未初始化就引用它。
犯这种错误主要有两个起因:一是没有初始化的观念;二是误以为内存的缺省初值全为零,导致引用初值错误(例如数组)。
内存的缺省初值究竟是什么并没有统一的标准,尽管有些时候为零值,我们宁可信其无不可信其有。所以无论用何种方式创建数组,都别忘了赋初值,即便是赋零值也不可省略,不要嫌麻烦。
u       内存分配成功并且已经初始化,但操作越过了内存的边界。
例如在使用数组时经常发生下标“多1”或者“少1”的操作。特别是在for循环语句中,循环次数很容易搞错,导致数组操作越界。
u       忘记了释放内存,造成内存泄露。
含有这种错误的函数每被调用一次就丢失一块内存。刚开始时系统的内存充足,你看不到错误。终有一次程序突然死掉,系统出现提示:内存耗尽。
动态内存的申请与释放必须配对,程序中malloc与free的使用次数一定要相同,否则肯定有错误(new/delete同理)。
u       释放了内存却继续使用它。
有三种情况:
(1)程序中的对象调用关系过于复杂,实在难以搞清楚某个对象究竟是否已经释放了内存,此时应该重新设计数据结构,从根本上解决对象管理的混乱局面。
(2)函数的return语句写错了,注意不要返回指向“栈内存”的“指针”或者“引用”,因为该内存在函数体结束时被自动销毁。
(3)使用free或delete释放了内存后,没有将指针设置为NULL。导致产生“野指针”。 
集成显卡的,可在BIOS中有一定的“分配”权,设定一个值,如果内存够大,那就设到最高值吧。进入系统后,内存是操作系统自己分配的,你没办权分配它的。 
乖乖....汗.....是如何分配硬盘吧?
内存我不会分,估计也没有人会分。
修改一下  , 你实说虚拟内存吗?
.....汗....
我是菜鸟。楼上的兄弟专业。 


jvc gr d30u 驱动下载
什么是等离子技术?
我的电脑开机显示
拜跪求"显卡"
fx5200好吗
高手救急!
如果电脑内存条(一根以上)非统一品牌而造成电脑死机应如何处理?请各网友回答详细一点.!
为什么我开机后,就会出现一个,驱动程序安装向导提示驱动已经完成啊.
电脑没声了 是不是我删错了什么东西??高手指教
请教:为何我的SATA硬盘在桌面右下角显示出来是移动硬盘.
全屏抗锯齿&各向异性过滤
在线等待 各位的回答 关机问题
笔记本电脑啊能放在北面宿社的柜子里的,柜子里有点潮湿的
USB不识别怎么办
我的电脑到底是怎么了?
我的手柄gamtec mb 2113无法识别,xp系统,就没有驱动,怎么办?
请点评:5999元配置:Athlon64 3000+ 处理器,双显卡SLI平台.....
我用的是奔腾4处理器,但是使用时响声很大,从声音可以听出风扇转得时快时慢,请问这是什么原因。
主板上的CMOS时钟问题?
如和将普通功放的输出连接到计算机声卡,并可以录音
移动硬盘
太原哪儿有MP3卖
请问:调制解调器是什么东西,要装驱动吗,为什么2000后没有了?
菜鸟问题:编程器是软件还是硬件?
这个配置玩挑战中不?
我的机器太老了,想升级,大家看看怎么升
怎么可以让摄像头看的更远?
我家的声音有问题!
电脑配置3000左右用什么好
请问 Geforce 6200 显卡 是什么水平的?
【求助】BIOS自检信息画面的问题(SL-86SPE4-G)
这个配置玩挑战中不?
本来是128M,加了128M内存条但显示的还是128M是怎么回事
为什么每次开机的时候鼠标都不能动
sy2.4的cpu配一块集成显卡的主板哪种合适
什么是内存溢出?
如何分配内存啊
我想知道惠普打印机是那个国家出产的
请问内存的类型为PC3200 DDR SDRAM的是DDR266,333,400哪一种?谢谢
845gl的不带网卡呀?
光电鼠标的垫板用什么颜色的性能最好?
打印机高手请进
为什么原装usb数据线上面有个很粗的圆柱?是干什么用的?
如何修复硬盘坏道
请各位大侠帮忙看看要多少钱!
AGP插槽的问题,请大家指教~~~~
硬盘的内置/外接什么意思,哪个更好,请指教,谢谢
显示器画面轻微颤抖是怎么回事?
怎样解决显示器失真
Cell处理器是32位、64位还是128位?
攒机高手帮我下,急用!!
求解;硬盘接口SATA与速度????
我的电脑一开机的时候声音很大,但几秒钟后回复正常,为什么?
“0*00403146”指令引用的“0*01c80f48”内存,该 内存不能为“read”是什么原因导致的,应该怎么解决?
mp3的锂电池激活问题
显卡的问题 LGS GM72V161621GT10K
怎样配置linux9.0中的透明代理
什么是控制器硬接线方式
不能打开要写入的文件
为什么CPU使用经常100%
光驱故障 求原因
电脑打开后,高手来看.
电脑高手进!
谁教我hack技术啊 真新学啊
本本没声了
硬盘坏了,是不是就不能装Word了?
我的MP3不能开机
3000元买的主机是什么配置?
Prefetch的文件都删了没事吗
哪种显卡最好?
删除不了下载的文件
能上网但不能上QQ是什么原因啊?
电脑主板开机无显
NEC笔记本售后维修服务(上海)在哪?
x300显卡和ATI9550哪个好
如何使网站在搜索引擎中排名居前
请推荐一款LCD显示器
如何把现有的PCB板导入电脑用PROTEL编辑?
在哪里有学计算机常用英语的.
X300和ATI9550到底哪个性能好
超频保护 中
请大虾帮个忙?为什么我的显卡插上去电脑不显示呢?
我想买显卡
我想购买快鱼电脑共享卡哪里可以买到
显示器问题?急!!!急!··
SIS 显卡 运行3D程序意外死机
SATA接口数量不够怎么办?
如何整理磁盘?
电脑有很大的嗡嗡声,好象不仅是风扇的原因,有谁能告诉我还有什么原因没有,谢谢!
怎样看我家的内存是多少频率的?(我家是DDR)
PCI显卡不可以插到AGP的口上吧!我买了个PCI的显卡怎么办呀!晕
MP3里面的软件全部删除了,无法播放,一按播放就自动关机!请问在哪里下载软件?
AMD速龙3000+的散热器怎么取阿,谢了
我的电脑光驱老是有毛病,请教高手!
怎样看我家的内存是多少频率的?(我家是DDR)
如何加密文件
中国有没有自行开发的芯片
大家给我推荐一款MP3
本本没声音了
显卡上的风扇太响了,收不了,有什么解决办法吗?

100
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 926179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228