关键字(三)sizeof和bool


在这里插入图片描述

一.最冤枉的关键字—sizeof

在这里插入图片描述

前面我们说过定义变量是需要空间的(声明不需要),同时你需要有类型像int,char…这些不同的类型会在内存中开辟不同大小的空间,而sizeof就可以求出该类型在内存里开辟空间的大小(单位是字节)

在这里插入图片描述

为什么说size是最冤枉的,因为sizeof是关键词或者操作符,不是函数

注意看sizeof的三种用法
在这里插入图片描述

从上可以看出在求变量所占内存大小时可以不带括号(从中也可以看出sizeof不是函数),但在求类型所占空间大小时必须带上括号

这里插入一个小问题:为什么一定要有类型呢?

在这里插入图片描述

总结一下,类型的出现就是为了让我们合理的使用空间

二.“简单”的布尔类型—_Bool

在这里插入图片描述

为什么布尔类型“简单”呢,因为只有两种值1和0用来判断真假的,一般用0表示假,1表示真(在布尔类型里)

布尔类型的使用

在定义变量时用这个bool

在这里插入图片描述在这里插入图片描述

在定义函数时用这个_Bool

在这里插入图片描述

————————分割一下—————————

我们接下来我们转到定义,看看布尔类型是什么

在这里插入图片描述在这里插入图片描述

这里其实可以看到bool其实是一个宏定义,另外false,true都是宏定义,这是程序员在c90标准下使用c99标准

这里引深一下,像是int类型是4个字节,char类型是1个字节,那么布尔类型是多少字节呢?

在这里插入图片描述

可以看到在这里布尔类型是占一个字节的,也就是x的大小是一个字节

在这里插入图片描述

总结
1.c89,c90没有布尔类型,到c99才引入
2.我们目前写代码一般使用c90标准,所以需要加上头文件stdbool.h

接下来还有一套布尔类型

在这里插入图片描述

全是大写,在这里(vs2019)这种写法是不被认可的,但这其实是微软自定义的布尔类型,大小是4个字节,只有在微软的软件上能使用,所以强烈建议不要这样写,可移植性很差

在这里插入图片描述

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸蛋挞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值