一、内存区域划分介绍
这就是我们的电脑上面的内存大致分布,接下来从上到下介绍各个部分的情况:
1、内核空间:是电脑一出厂就被设置好的用户不能读写无法访问。
2、栈区:存储局部变量的存储单元都可以在栈上创建,在函数执行完毕这些存储单元会自动的释放,栈内存分配运算处于处理器的指令集中,效率高,但是其内存有限。其中主要存放的是运行函数中分配的局部变量、函数参数、返回数据、返回地址。
3、堆区:一般由程序员释放,但是如果程序员没有释放程序结束时由OS回收。
4、数据段:存放全局变量、静态数据,程序结束后由系统释放。
5、代码段:存放函数体(全局函数)的二进制代码。
二、文件管理
1、什么是文件?
2、文件有哪些类别怎么区分?
3、文件名是什么?
4、二进制文件和文本文件的异同?
(1)磁盘(硬盘)上的文件就是文件。
(2)文件的类别大类分为两种:程序文件和数据文件(文件的功能角度)。
程序文件特点:文件后缀为.c的源程序文件,在Windows环境下面后缀为.obj的文件和后缀为.exe的文件。
数据文件特点:文件的内容是程序运行时读写的数据,比如程序运行中需要读取文件的数据或者输出内容的文件。
(3)文件名顾名思义就是每个文件独有的名字,以便用户的识别和使用。其中包括三个部分:文件的路径+文件的命主干+文件的后缀。列如:c:\code\test.txt
(4)根据数据的组织形式,数据文件被分为文本文件或者二进制文件。
二进制文件特点:数据在内存中以二进制的形式存储,不加转换的输出到外存的文件中,就是二进制文件。
文本文件:要求在外存上以ASCII码的形式存储,则需要在存储前转换。用ASCII字符存储的
文件就是文本文件。