您的位置:首页 > 编程语言 > C语言/C++

c语言==测量各种数据类型的长度以及typedf关键字对数据类型的作用(21)

2016-12-02 21:52 288 查看
32位处理器存储单位

bit (位)

字节 = 8 bit

半字 = 2 个字节 = 16 bit

字 = 4 个字节 = 32 bit

字节长度: 变量在内存中所占的存储空间的长度

数据类型 字节长度

char 1

short 2

int 4

long 4

float 4

double 8

指针 4

指针类型为什么是4个字节?

因为所有的指针保存的都是地址,在操作系统中,地址是固定长度的,由操作系统的位数决 定,比如32位的系统是4个字节,64位的系统是8个字节。

strlen 和 sizeof 的区别

sizeof是运算符而 strlen 是一个函数。

sizeof测量的是一个变量或则数据类型的字节长度。

sizeof有两种写法:测量数据类型时必须给数据类型名加括号

sizeof(变量或数据类型名);

sizeof 变量

注意:测量数组长度时,若数组定义了大小,则该数组占的字节数为定义的大小,若未定义大小,则数组占的字节数为字符串中的字符+1(注意在sizeof中‘\0’要算进去)

虽然都是统计字符串的个数,但是sizeof 统计的字符中包括‘\0’,strlen 是不包括的

有符号和无符号的范围计算

unsigned char

0000 0000 = 0 (最小)

1111 1111 = 255(最大)

简单的计算方法 : 1111 1111 = 255

+0000 0001 = 1

—————– 10000 0000 256

signed char

0+ 1-

0 000 0000 = 0

0 111 1111 =127

1 000 0000 = -128

1 111 1111 = -1

计算机最后保存的就是补码

正数的原码就是补码

负数的补码就是负数的绝对值原码取反加1

知道负数的补码怎么求原值?

把补码取反再加一。

计算机中不做减法,用加法代替。

‘a’ = 97

0 —> ‘\0’

计算的时候,是补码之间的计算!!!!!

typedf关键字: 用typedf给变量重命名 typedf char Char

好处 : 提高代码的移植性 对代码起保护作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言