数据类型
每种数据类型所占的字节数
int 4 float 4 double 8 short 2 long 4
1个字节占8bit 半字占2个字节 字占4个字节
计算机存储数据是使用它的补码
正数的补码使其本身,负数的补码是自身反码加1,
有符号与无符号比较时 把有符号数隐式转换为无符号
变量
变量的三大特点
1.变量的数据类型
2.变量作用域
3.变量的存储类型
当程序调用时 运行即为进程
此时操作系统会给进程分配空间 称之为虚拟进程空间 4个g 然后将其映射到物理内存中
这个虚拟进程空间
分成5个部分
第一部分 1个g分配给内核;剩下三个g分给用户
第二部分称之为栈空间 主要存储的是局部变量 函数形参 自动变量 这些变量会在函数运行完之后释放 释放速的快慢由系统管理 这个空间定义的局部变量如在一开始定义没有赋值那系统会给他一个随机的值(特点是先进后出 系统管理)
第三部分 称之为堆空间 里面包含着malloc calloc ralloc
第四部分 称之为全局数据区 此部分存储未初始化的全局变量 会将其赋值为0 ordata常量 以及静态数据区:初始化的全局变量 static修饰的变量 特点是(先进先出 用户管理)
第五部分 代码区
每种数据类型所占的字节数
int 4 float 4 double 8 short 2 long 4
1个字节占8bit 半字占2个字节 字占4个字节
计算机存储数据是使用它的补码
正数的补码使其本身,负数的补码是自身反码加1,
有符号与无符号比较时 把有符号数隐式转换为无符号
变量
变量的三大特点
1.变量的数据类型
2.变量作用域
3.变量的存储类型
当程序调用时 运行即为进程
此时操作系统会给进程分配空间 称之为虚拟进程空间 4个g 然后将其映射到物理内存中
这个虚拟进程空间
分成5个部分
第一部分 1个g分配给内核;剩下三个g分给用户
第二部分称之为栈空间 主要存储的是局部变量 函数形参 自动变量 这些变量会在函数运行完之后释放 释放速的快慢由系统管理 这个空间定义的局部变量如在一开始定义没有赋值那系统会给他一个随机的值(特点是先进后出 系统管理)
第三部分 称之为堆空间 里面包含着malloc calloc ralloc
第四部分 称之为全局数据区 此部分存储未初始化的全局变量 会将其赋值为0 ordata常量 以及静态数据区:初始化的全局变量 static修饰的变量 特点是(先进先出 用户管理)
第五部分 代码区
int num=5;
首先这是一个整型变量 他被赋值为5 如果他是一个局部变量存储在栈空间 那么他会在函数程序运行完之后被释放 如果他是一个全局变量 存储在全局数据区 那他会在程序运行完之后释放