C语言各种数据在内存中的分配方式,分别对程序的运行效率有哪些影响?

[复制链接]
查看11 | 回复2 | 2012-12-30 22:05:50 | 显示全部楼层 |阅读模式
内存分配?堆栈的综合效率最高(除寄存器外),一般函数(包括main())的变量都是在堆栈内的。你可以显示声明register 但是是存在寄存器还是一般的堆栈完全由编译器决定优化,其实你加了也没用。。。。。堆栈是在内存的一块固定大小的区域,比较小,数据量大了会爆栈(综合最高是因为会有部分内容进入寄存器,寄存器比内存快)。全局变量是在全局变量区的,全局变量区是在内存中的固定大小的一块区域。全局变量区也不怎么大,但是比堆栈大多了。。。。函数代码区。。。是在内存 你无视好了。。。堆区 是在内存的一块很大很大的区域,一切动态建立的对象(c用alloc家族函数 c++的new)都是在堆区,一般堆区是不会爆的,除非真的很大大大大大。。效率上讲...
回复

使用道具 举报

千问 | 2012-12-30 22:05:50 | 显示全部楼层
从另一个角度,从变量值存在的作时间(即生存期)角度来分,可以分为静态存储方式和动态存储方式。静态存储方式:是指在程序运行期间分配固定的存储空间的方式。动态存储方式:是在程序运行期间根据需要进行动态的分配存储空间的方式。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行