C语言的常见的数据类型及其变量
小编在这里为大家系统梳理C语言常见的数据类型,以及变量的核心知识,适配一些嵌入式、编程学习等场景,内容实用且贴合基础开发需求。
C语言数据类型(内置类型):
整型
字符型
浮点型
布尔类型
1. 基本数据类型(其中基本类型中又包含整型、字符型、浮点型)
(1.) 整型(包括短整型、长整型、更长的整型):
整型的英文单词是integer,在C语言中使用int表示整型类型
- 代码块如下:
//整型 - integer
//短整型
short [int]
[signed] short [int]
unsigned short [int]
//长整型
long [int]
[signed] long [int]
unsigned long [int]
//更长的整型
//C99中引入
long long [int]
[signed] long long [int]
unsigned long long [int]
(2.)字符型:
字符的英语单词是character,在C语言中使用char表示字符类型
- 代码块如下:
char //character
[sign] char
unsigned char
(3.) 浮点型(一般表示小数,小数点可以浮动):
代码块如下:
float //单精度浮点型
double //双精度浮点型
long double//精度更高的浮点型
(4.)布尔类型
C语言原来并没有为布尔值单独设置一个类型,而是使用整数0表示真假
非0表示真的,在C99中也引入了布尔类型,是专门表示真假的
代码块如下:
-Bool
布尔类型的使用得包含头文件<stdbool.h>
布尔类型变量的取值是:true或者false
代码演示:
#include <stdbool.h>
#include <stdio.h>
int main ()
{
_Bool flag = true;//若为false,则输出假的即I don't like C
if (flag)
printf("I like C\n");
else
printf("I don't like C")
return 0
}
输出为真的(如图)

2.各种数据类型的长度
每一种数据类型都有自己的长度,使用不同的数据类型,能够创建出长度
不同的变量,变量长度的不同,存储的数据范围就有所差异。
(1.)计算数据类型长度
sizeof操作符(单位:字节)
计算结果是size_t类型的,想打印在屏幕上可使用占位符%zu
sizef(类型)
sizeof(表达式)
代码演示:
#include <stdio.h>
int main()
{
printf("%zu\n", sizeof(char));
return 0;
}
输出结果如下图为1:表示char的长度为1字节

(2.)sizeof中表达式不计算
代码演示:
#include <stdio.h>
int main ()
{
short a = 10;
int b = 5;
printf("%zu\n",sizeof(a = b + 2);
printf("%d\n",b);
return 0;
}
运行结果如下:

按照代码,是将5+2的值赋值给a,按道理a赋完值后为7,但是运行的代码a的值依然是10,
所以sizeof(a= b + 2) 字节长度得推导如下:
a的类型为short
b的类型为int
2的类型为int
由于a为2个字节,b+2相加结果还是int类型为4字节
把4字节放到2字节中不够放
所以a 长度就为 short类型为2字节
3.signed 和unsigned
有的值是正数、0、负数:温度、海拔、资产等(signed)
有的值只有0 和正数:身高、体重、长度等(unsigned)
整数声明为unsugned的好处是:
同样长度的内存能够表示的最大整数值,增大了一倍
例如:16位的signed short int 的取值范围是:-32768-32767,
最大是32767;而unsigned short int 的取值范围增大到了65535。
32位的singed int 的取值范围可参考 Iimists.h中给出的定义
注意:C语言中规定char类型默认是否带有正负号,由系统决定,也就是说,char 不 等同于 signed char , 它有可能是 signed char, 也有可能是 unsigned char, 这一点与int 不同,int 就是等同于 signed int。
4.数据类型的取值范围
C语言整型数据类型的取值范围,
(1)C语言整型分 有符号(signed) 和 无符号(unsigned),浮点型没有无符号版本。
(2) 取值范围由类型占用的二进制位数决定,默认 int 、 short 、 long 均为有符号。
(3)代码里可以直接引用 <limits.h> 头文件的宏,获取当前平台的准确极值。
(4)常用类型简易范围
-
(4-1)char 类型(1字节,8位)
signed char :-128 ~ 127
unsigned char :0 ~ 255
注意:普通 char 的符号属性由编译器决定,嵌入式开发建议显式声明。 -
(4-2)short 类型(2字节,16位)
short / signed short :-32768 ~ 32767
unsigned short :0 ~ 65535 -
(4-3)int 类型(常见4字节,32位,PC、主流嵌入式通用)
int / signed int :-2147483648 ~ 2147483647
unsigned int :0 ~ 4294967295 -
(4-4)long long 类型(8字节,64位,C99起支持)
long long / signed long long :-9223372036854775808 ~ 9223372036854775807
unsigned long long :0 ~ 18446744073709551615
本期关于数据类型就给大家介绍到这,后续小编会持续更新哦~~感兴趣的可以点赞加关注
2-----C语言的常见的数据类型介绍&spm=1001.2101.3001.5002&articleId=157441810&d=1&t=3&u=e81c8e6c743a418a9f5ab55126ace539)

被折叠的 条评论
为什么被折叠?



