如果访问太慢,也可访问 CSDN 或者 我的博客

1. 字,字节,位的关系

  1. bit) 来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位。
  2. 字节byte) 字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。 字节是计算机中数据处理的基本单位,内存编址以字节为单位
  3. word)计算机进行数据处理时,一次存取、加工和传送的数据长度称为字。一个字通常由一个或多个(一般是字节的整数位)字节构成。

1.1 相互转换

①:1字节(byte) = 8位(bit) ②:在16位的系统中(比如8086微机) 1字(word)= 2字节(byte)= 16(bit)   在32位的系统中(比如win32)  1字(word)= 4字节(byte)= 32(bit)   在64位的系统中(比如win64)  1字(word)= 8字节(byte)= 64(bit)

1.2 常用的变量类型所占字节

C语言中的基本数据类型有: char、short、int、long、float、double。

char:1个字节、8位;

short:2个字节、16位;

int:8/16位通常是2字节、16位;GCC编译器下32/64位的CPU为4字节、32位;

char*:指针类型,所有指针类型均与CPU本身的数据位宽一致,如:32位机器为4字节、32bit,而64位机器为8字节、64bit。

整型这个整,就体现在它和CPU本身的数据位宽是一样的,例如32位的CPU,int 就是32位。

不同变量在不同位数的处理器下所占的字节

变量类型 8/16位处理器 32位处理器 64位处理器
char 1 1 1
short int - 2 2
int 2 4 4
long int 4 4 8
long long int - 8 8
char* 1/2 4 8
float 4 4 4
double 8 8 8

2. 变量的作用域及生命周期

局部变量:作用域及生命期为当前函数;

静态局部变量:作用域为当前函数,生命期为整个源程序

全局变量:作用域及生命期为整个源程序