【C语言-8】一文吃透C语言整型

本文深入探讨C语言中的整型数据类型,包括int、char、short、long、long long等,讲解它们的字节大小、数值范围以及补码表示法。通过sizeof关键词测量数据类型占用的字节,并解释了如何在不同平台上确保整数范围的一致性。
摘要由CSDN通过智能技术生成

系列文章目录

C语言系列课1:什么是计算机语言?

C语言系列课2:C语言的发明及发展

C语言系列课3:C语言是不是过时了?

C语言系列课4:C语言程序开发步骤

C语言系列课5:Visual Studio集成开发环境的搭建

C语言系列课6:Hello World 第一个C语言程序

C语言系列课7:10分钟学会C语言基础语法


1. 整型数据类型

在上一节当中,我们遇到了用int关键词(整数integer的缩写)来表示一个整数的数据类型。

这一节中,我们来详细讨论一下C语言里面的整数数据类型。
C语言中的整型类型
在C语言中,有上面表中列出的几种整型数据类型。

看到这里你可能想问,一个整数而已,为什么会需要定义这么多不同的类型出来呢?

计算机通过晶体管的开关状态来记录数据。它们通常8个编为一组,我们称之为字节。而晶体管有开关两种状态,一个字节有8个晶体管,因此一个字节可以拥有2的八次方个不同的状态。让每一种状态对应一个数值,这样一个字节可以表示256个不同数值。
晶体管表达数据
要表示更大的数据范围就需要更多晶体管。要知道在发明C语言的年代,计算机存储资源是非常珍贵而稀缺的。对存储资源,程序员可能恨不得把一块掰成两块来用。如果只想表达0到100以内的数值,那么一个字节就足够了,何必用两个字节来存储呢?

而如今,即使存储资源已经较为丰富了,但是大部分的强类型语言,都延续了这个传统。它们均提供了丰富的类型以供选用。而程序员在编写代码时,通常能预想到需要使用到的数据范围的大小。这样在处理一个数据时,可以从语言所提供的类型中选用最合适的类型来承载数据。

那么接下来,你可能想知道这些类型中,它们分别占用几个字节,具体的数据范围是多少?从而合适地选择数据类型。很遗憾,我不能准确地告诉大家。因为C语言标准并未规定这些数据类型的大小范围,具体的实现交由了编译器和平台决定。那我们怎样知道在visual studio 2019中,各种整型数据类型能够表示的数据范围呢?

我们需要sizeof关键词来帮我们测量。

2. 用sizeof关键词来测量大小

和int一样,sizeof是C语言中的一个关键词。它是英文size of连起来的合成词。翻译成中文就是什么东西的大小的意思。它能够测量C语言各种实体所占用的字节大小。

如果我们想看int所占用的字节大小,可以这样写sizeof(int)。执行后这段代码后,它的测量结果是一个整型。我们可以借助printf函数将测量结果显示在控制台上。我们现在可以假设sizeof返回的结果是int类型的,在printf函数中使用占位符%d。而更准确地用法,应该用%zu。

测量int类型所占用的字节大小,并将结果打印在控制台上的代码如下:

pr
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值