#考试酷#A16_Sizeof

首先说一下哈sizeof(类型)就直接回复类型的大小


1
这里我们区分以下bit 和 byte 的区别吧
字 word
字节 byte(字长是指字的长度)
位 bit

1字=2字节(1 word = 2 byte)
1字节=8位(1 byte = 8bit)
bit 电脑记忆体中最小的单位,在二进位电脑系统中,每一bit 可以代表0 或 1 的数位讯号。

Byte一个Byte由8 bits 所组成,可代表一个字元(AZ)、数字(09)、或符号(,.?!%&±*/),是记忆体储存资料的基本单位,至於每个中文字则须要两Bytes。当记忆体容量过大时,位元组这个单位就不够用,因此就有千位元组的单位KB出现,以下乃个记忆体计算单位之间的相关性:
1 Byte = 8 Bits
1 KB = 1024 Bytes
1 MB = 1024 KB
1 GB = 1024 MB

一个字的字长为16
一个字节的字长是8

一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。

正确的说法:

①: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)

2
‘a’是个字符(char)
所以就是sizeof(char)
sizeof 操作符用于计算变量的字节大小


3
因为是数组嘛,变量是按照一整个数组来的


4
这个就结合了上次的union的只是点
整个t union是以int作为大小判断的
所以整个t的sizeof其实也等于int的sizeof


5
,运算符就是输出后面的那个
sizeof()我们也讲过啦
~这个我们好像之前也遇到过**【但我还是不知道它是干嘛的哭】**


6
这玩意我就只是知道存在,而且void和void*也不一样——
于是我又查了查【准确来说着东西的答案还会根据程序来发生变化】

这取决于编译程序。
因为不能定义void类型的变量,所以它也就不占空间,理论上应该sizeof(void)是0,在VC中的确也是0,而gcc把它定为1。
如果是C++的话, sizeof(void)根本是编译通不过的。 随便说一下,C++中一个空的结构或类: struct EMPTY{};
sizeof( struct EMPTY ); 也是返回1。 但如果是C语言,gcc中就会返回0。而VC中根本不允许空的结构。
——来自网络

sizeof(void)是1 sizeof(void*)是4【是个指针】


7
啊这个记住就好
本来大小就是正整数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值