C基础_类型及对应内存大小

数据类型

数据类型 内存大小
char1Byte = 8 bit
short2Byte = 16 bit
int4Byte = 32 bit
long4Byte = 32 bit
float4Byte = 32 bit
double8Byte = 64 bit

signed、unsigned:有符号、无符号。所有变量默认为有符号类型

sizeof:获取数据的大小,返回字节数

位、字节、字

位(bit):计算机中最基本的单位

字节(Byte):计算机中数据存储的基本单位。1Byte = 8 bit

字(Word):计算机进行数据处理和运算的单位。

32位机中, 1 Word = 4 Byte = 32 bit。

64位机中,1 Word = 8 Byte = 64bit

数据存储

关键字用途
static定义静态局部变量
extern跨文件声明变量
const设置为不可改变的常量
volatile确保变量不被优化

static

1、全局变量前加static

全局变量前加static的含义为限定全局变量的使用范围。

不加static的全局变量,可以在整个工程中去访问到。

加入static之后,只有定义该全局变量的源文件(.c)中可以访问到,而不是整个工程可以访问到。

2、局部变量前加static

局部变量前加static的含义是改变局部变量的存储位置,从而使得函数退出时,局部变量不释放

不加static的局部变量存放在栈中,函数退出,栈释放,局部变量被释放

加入static的局部变量存放在数据区,函数退出,局部变量(局部静态变量)仍存在

3、函数前加static

函数前加static的含义与1类似,都是限定使用范围

不加static的函数,可以在整个工程中去访问到(声明后就可以使用)。

加入static之后,只有定义该函数的源文件(.c)中可以访问到,其他文件即使声明也不能使用

volatile

定义指向寄存器的变量,告诉编译器,每次都从原始地址去读取值,以确保每次读写寄存器都是真正的执行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值