C++基础----c语言内存分配

本文主要探讨了C++中的内存分配,包括静态内存、栈内存、堆内存的使用和管理,详细讲解了C++中new和delete操作符的用法以及内存泄漏问题的预防。
摘要由CSDN通过智能技术生成


c语言的4G虚拟寻址空间的概念

c语言变量分配与5个区的概念

c语言变量的使用与作用域

局部变量出作用域则销毁

文字常量区的销毁过程

代码区的销毁

全局变量与静态变量的销毁

堆区的销毁过程

 

c语言的4G虚拟寻址空间的概念

计算机内存分配的最小单位是字节,而数据操作的最小单位是位

一个字节=8个位

 

那么我们现在用的计算机都是32位,所谓32位,表示的cpu能找到的范围是

FFFFFFFF(11111111 11111111 1111111111111111),换算成10进制就是0-4294967295(字节)=4194303(k)=4096(m)=4(G)=T

答案:因为32位的计算机能最大的地址范围为4G

cpu是通过地址总线来找对应的位置。

 

c语言变量分配与5个区的概念

#include <stdio.h>

#include <malloc.h>

int k=1;

void main()

{

       inti=1; //1 局部变量

       char*j;

       staticint m=1; //2 静态局部变量

       char*n="hello"; //3 文字常量区

       j= (char*)malloc(2); //4 堆变量

    printf(“%d\n”,k);

}

地址

内容

00000000

 

……

 

0012FF74(n)

00422FB8

0012FF78(j)

00380FE0

0012FF7Ci

1

……

 

00380FE0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值