当前位置:首页 » 《随便一记》 » 正文

C语言之数据类型详解

20 人参与  2023年04月02日 14:49  分类 : 《随便一记》  评论

点击全文阅读


前言:

        我们常常在写C语言程序时,总离不开去定义变量。也许需要定义一个整形的,又或是定义一个浮点型的.....那么这时候就需要数据类型啦!又或许你常常因为没有使用合适正确的数据类型造成运行结果溢出等等一些问题。关于常见的一些数据类型(int,char...)大家可能都知道,那么他们的大小、数值范围是多少呢,我们该怎么去具体选择呢,一起来康康叭!

一、数据类型分类

      首先,先来整体介绍一下C语言的数据类型分类。

1.基本类型:
(1)整型类型。整型类型包含:基本整型(int)、短整型(short int)、长整型(long int)、双长整型(long long int)、字符型(char)和布尔型(bool)。
注:整型数据可在类型符号前面加修饰符:signed(有符号整数类型)和unsigned(无符号整数类型),若不指定则默认为“有符号类型”
(2)浮点类型。浮点类型包含:单精度浮点型(float)、双精度浮点型(double)和复数浮点型(单精度复数浮点型(float_complex)、双精度复数浮点型(double_complex)和长精度复数浮点型(long long_complex))。
2.枚举类型:
(1)枚举类型。枚举类型就只有枚举类型(enum)。
3.空类型:
(1)空类型。空类型就只有空类型(void)。
4.派生类型:
(1)派生类型。派生类型包含:指针类型(*)、数组类型([])、结构体类型(struct)、共用体类型(union)和函数类型

      这里放一张自己画的思维导图叭,便于大家更清楚明易地了解。

二、基本数据类型

        这里我们对常用的基本数据类型(整型数据类型、字符数据类型和浮点型数据类型)做一个详细的了解探讨,包括他们的数据类型大小、数值范围以及打印类型等等。

1.数据类型大小

(1)计算机中常用存储单位

说到大小,那么我们就先来简单了解一下计算机中常见的存储单位叭,便于后面知识的更好理解。

        从图表中,我们可以看到,最小的存储单位为bit(位或者比特),即为二进制数所存储的位。比位大一点的单位为byte(字节),且1字节=8位

 (2)数据类型大小

       关于求出他们的数据类型大小,我们需要用到C语言中的一个函数sizeof,这里不对这个函数作过多详细解释,你只需要知道,这个函数的作用是可以求出⼀个对象(数据类型或者数据对象)的长度(即占⽤内存的⼤⼩,以byte为单位)。注意是以字节为单位。

     下面我们展示一下代码及运行结果。

#include <stdio.h>int main(){printf("short:%d\n",sizeof(short));printf("unsgned short:%d\n", sizeof(unsigned short));printf("int:%d\n", sizeof(int));printf("unsigned int:%d\n", sizeof(unsigned int));printf("long:%d\n", sizeof(long));printf("unsigned long:%d\n", sizeof(unsigned long));printf("long long:%d\n", sizeof(long long));printf("unsigned long long:%d\n", sizeof(unsigned long long));printf("float:%d\n", sizeof(float));printf("double:%d\n", sizeof(double));printf("char:%d\n", sizeof(char));return 0;}

 

 由运行结果可知:

char类型的数据类型大小为1字节8位

short类型的数据类型大小为2字节16位

int类型、long类型、float类型的数据类型大小为4字节32位

long long类型、double类型的数据类型大小为8字节64位

注意,若整数数据类型前面加unsigned即为无符号整数数据类型,数据类型大小不变。

(3)符号位

       前面我们提到计算机最小的存储单位为bit(位或比特),即二进制数所存储的位。但是对于有符号整数数据类型和无符号整数数据类型,这些存储的“位”具体的意义是不同的。

      有符号整数数据类型的存储单元中,左边第一位表示符号位,其余位用来存放数值(如果第一位为0,表示该数为正数;如果第一位为1,表示该数为负数)而无符号整数数据类型所有的位数都是用来存放数值的。比如,long int类型变量有32位存储位数,除去左边第一位表示符号位,剩下表示数值的只有31个比特位,而unsigned long int类型变量,32位都用来存放数值。

2.数据类型的数值范围

          这里同样以一个图表进行展示,可在使用时用来查阅~

 3.打印输出类型

 总结:

           当我们在定义变量时,选择正确合适的数据类型,既可以提高空间利用率,同时也可以避免溢出等问题的出现。今天关于数据类型的介绍就这么多啦,我们下次博客见咯~~


点击全文阅读


本文链接:http://zhangshiyu.com/post/58015.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 祖母寿宴,侯府冒牌嫡女被打脸了(沈屿安秦秀婉)阅读 -
  • 《雕花锦年,昭都旧梦》(裴辞鹤昭都)完结版小说全文免费阅读_最新热门小说《雕花锦年,昭都旧梦》(裴辞鹤昭都) -
  • 郊区41号(许洛竹王云云)完整版免费阅读_最新全本小说郊区41号(许洛竹王云云) -
  • 负我情深几许(白诗茵陆司宴)完结版小说阅读_最热门小说排行榜负我情深几许白诗茵陆司宴 -
  • 九胞胎孕妇赖上我萱萱蓉蓉免费阅读全文_免费小说在线看九胞胎孕妇赖上我萱萱蓉蓉 -
  • 为保白月光,侯爷拿我抵了债(谢景安花田)小说完结版_完结版小说全文免费阅读为保白月光,侯爷拿我抵了债谢景安花田 -
  • 陆望程映川上官硕《我的阿爹是带攻略系统的替身》最新章节阅读_(我的阿爹是带攻略系统的替身)全章节免费在线阅读陆望程映川上官硕
  • 郑雅琴魏旭明免费阅读_郑雅琴魏旭明小说全文阅读笔趣阁
  • 头条热门小说《乔书意贺宴临(乔书意贺宴临)》乔书意贺宴临(全集完整小说大结局)全文阅读笔趣阁
  • 完结好看小说跨年夜,老婆初恋送儿子故意出车祸_沈月柔林瀚枫完结的小说免费阅读推荐
  • 热推《郑雅琴魏旭明》郑雅琴魏旭明~小说全文阅读~完本【已完结】笔趣阁
  • 《你的遗憾与我无关》宋怀川冯洛洛无弹窗小说免费阅读_免费小说大全《你的遗憾与我无关》宋怀川冯洛洛 -

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1