第二节 数据结构

本文介绍了C语言中的数据结构分类,详细探讨了整型、浮点型、布尔类型以及它们的长度。重点讲解了sizeof操作符用于测量数据类型长度的方法,以及signed和unsigned关键字的区别。同时列出了各类整型类型的取值范围。
摘要由CSDN通过智能技术生成

目录

2.1 数据结构分类

2.2整型 

2.3 浮点型

2.4 布尔类型 

2.5 各种数据类型的长度

1>使用sizeof操作符测量数据类型的长度 

2>sizeof后面的表达式不会真实参与运算 ,会根据表达式的类型得出结果

 3>sizeof的计算结果是size_t类型

2.6 signed和unsigned

1>C语言使用signed和unsigned关键字来修饰字符型和整型

2>对于int类型,默认是带正负号的,int等同于unsigbed int

3>整型声明变量时使用unsigned的好处

4>C语言规定char类型默认值是否带有正负号,由当前系统决定

 2.7 整型类型的取值范围


2.1 数据结构分类

2.2整型 

这些类型申请的空间大小是不同的 

2.3 浮点型

2.4 布尔类型 

_Bool 后来加入的 布尔类型专门用来表示真/假的变量 C语言中使用0表示假,非0表示真

-1表示真 ,只有0表示假

布尔类型的使用要包含头文件<stdbool.h>   ,布尔类型变量的取值是 true或者false

2.5 各种数据类型的长度

1>使用sizeof操作符测量数据类型的长度 

sizeof是一个关键字,也是操作符,专门用来计算sizeof的操作符数据的长度,单位是字节,sizeof操作符的操作数可以是类型,也可以是变量或者表达式。

sizeof(类型)是类型必须加括号 ;  sizeof  表达式 是表达式可以不加括号

2>sizeof后面的表达式不会真实参与运算 ,会根据表达式的类型得出结果

a+3是int 类型占用4个字节,b是short类型占用2个字节,此时数据会发生截断,表达式不会执行

 3>sizeof的计算结果是size_t类型
sizeof运算符的返回值,C语言只规定是无符号整数,并没有规定具体的类型,而是留给系统自己去决定,sizeof到底返回什么类型,不同系统中,返回值的类型可能是unsigned int ,也可能是unxigned long,unsigned long long,对于printf()的占位符分别是%u,%lu %llu  C语言提供了一个解决方法,创造了size_t类型别名,用来统一sizeof的返回值类型

2.6 signed和unsigned

1>C语言使用signed和unsigned关键字来修饰字符型和整型

signed---->表示一个类型带有正负号,包括负值

unsigned--->表示一个类型不带有正负号,只有0和正整数

2>对于int类型,默认是带正负号的,int等同于unsigbed int
3>整型声明变量时使用unsigned的好处

同样长度的内存能过表示的最大整数值,增大了一倍

例如 16位的 signed short int 的取值范围是:-32768~32767,最⼤是32767;⽽

unsigned short int 的取值范围是:0~65535,最⼤值增⼤到了65,535
4>C语言规定char类型默认值是否带有正负号,由当前系统决定

就是说char不等同于signed char ,他可能是unsigved char 也可能是signed char(与int不同)

 2.7 整型类型的取值范围

SHRT_MIN , SHRT_MAX :short 的最⼩值和最⼤值。

 INT_MIN INT_MAX :int 的最⼩值和最⼤值。

  LONG_MIN LONG_MAX :long 的最⼩值和最⼤值。
  LLONG_MIN LLONG_MAX :long long 的最⼩值和最⼤值。
  UCHAR_MAX :unsigned char 的最⼤值。
  USHRT_MAX :unsigned short 的最⼤值。
UINT_MAX :unsigned int 的最⼤值。
  ULONG_MAX :unsigned long 的最⼤值。
  ULLONG_MAX :unsigned long long 的最⼤值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值