你的数据存放在哪

计算机三大组成部分:CPU  内存  硬盘

 

内存与硬盘的区别:内存保存动态数据,断电就会丢失,存放的是运行的数据。而硬盘保存静态数据,断电不丢失,存放的是静态的数据。

 

 

内存是共享设备,是稀缺资源,操作系统用来管理资源,给每个进程抽象出4G虚拟地址空间,虚拟空间通过MMU映射到物理地址。

 

进程虚拟地址空间划分:最高地址1G是内核空间,剩下3G是用户空间。

 

用户空间分为栈空间,堆空间,数据区和代码段。

栈空间存放局部变量、函数形参、自动变量

堆空间里存放mallocralloccalloc。(函数

数据区又划分为bss(未初始化的全局变量)、oronly read)(保存常量)、静态数据区(保 存static修饰的变量和初始化的全局变量)

代码段存放代码。

 

划分空间的作用:各个数据之间互不影响;起到保护数据作用。

 

栈空间的特点:先进后出,系统管理。

堆空间的特点:先进先出,用户管理。

 

分配内存的三种方式:栈空间、堆空间、数据区。

 

全局变量和局部变量的区别:

(1)全局变量存放在数据区,局部变量存放在栈空间。

2)局部变量的生命周期是所在函数结束后释放,全局变量的生命周期是整个程序结束后释放。

3)局部变量未初始化,系统自动初始化为随机值;全局变量未初始化,系统自动初始化为0

局部变量和全局变量重名时,局部变量起作用

 

栈空间变量会在函数结束后释放

 

声明和定义的区别:声明不需要分配内存空间,可以声明很多次;而定义需要分配内存空间,只可以定义一次。

 

格式化输入和输出

获取地址: %p

获取字符串: %s

获取无符号整型: %u

获取长整型: %ld

获取双精度浮点型:  %lf

若前面是其他类型,后面是字符型时,中间加getchar(),或者在格式串中加空格或“%*c”。

 

课堂小知识

gcc -g到编译结束

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值