一、数据类型的本质
1、数据类型可以理解为创建变量的模具,是固定内存大小的别名。
2、数据类型的作用:编译器预算对象(变量)分配内存空间大小
二、void
1)、void简介
void 的字面意思是“无类型”,void*则为“无类型指针”,void *可以指向任何数据类型。在c中不存在void类型的变量,因为c语言就没有定义void究竟是多大内存的别名。c语言中void有两种使用方式:
1、用于修饰函数的返回值和函数参数,仅表示无,如果一个函数没有返回值,怎将其声明为void,如果没有参数,应该声明
其参数为void
2、用于数据类型的封装,例如: int InitHardEnv(void **handle)
2)、void指针的意义
c语言规定只有相同数据类型的指针才可以相互赋值,因此void*指针作为左值用于“接收”任意类型的指针。void*指针作为右值赋值给其他指针时,需要进行强制类型转换。
三、变量
1)、概念:
既能读又能写的内存对象,我们称为变量;一旦初始化后不能修改的对象我们称之为常量。
2)、变量的本质
a、程序通过变量来申请和命名内存空间,例如:int a =0 。程序通过变量名访问内存空间(变量名实质是
一段连续内存空间的别名)
四、C语言程序的内存四区模型。
1)、内存四区的建立流程
流程说明:
a、操作系统把物理硬盘代码load代内存(运行.exe文件)
b、操作系统把c代码分成四个区
c、操作系统找到main函数入口执行程序。
2)各个区元素分析:
栈区(stack)</ |