C\C++内存区域划分比较

本文介绍了内存的定义,从硬件和逻辑角度阐述其作用。接着详细讲解了内存的单位和编址,以及C和C++内存区域的划分,包括栈、堆、BSS段、全局区和常量区。此外,还对比了C和C++内存区别的重点,并分析了堆和栈的特性及使用注意事项。
摘要由CSDN通过智能技术生成

内存定义

硬件角度:内存是计算机必不可少的一个组成部分,是于CPU沟通的桥梁,计算机中所有的程序都是运行在内存中的。
逻辑角度:内存是一块具备随机访问能力,支持读、写操作,用来存放程序及程序运行中产生的数据的区域。

内存单位和编址

  • 位 :( bit ) 是电子计算机中最小的数据单位。每一位的状态只能是0或1。

  • 字节:1 Byte = 8 bit ,是内存基本的计量单位,

  • 字:“字” 由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。

  • KB :1KB = 1024 Byte。也就是1024个字节。

  • MB : 1MB = 1024 KB。类似的还有GB、TB。

  • 内存编址:计算机中的内存按字节编址,每个地址的存储单元可以存放一个字节(8个bit)的数据,CPU通过内存地址获取指令和数据,并不关心这个地址所代表的空间具体在什么位置、怎么分布,因为硬件的设计保证一个地址对应着一个固定的空间,所以说:内存地址和地址指向的空间共同构成了一个内存单元。

  • 内存地址:内存地址通常用十六进制的数据表示,例如通常在C或者Objective-C中输出一个变量的地址可能为:0x7fff5fbff79c,这就是一个用十六进制的数表示的地址。

C内存区域划分

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值