在C语言中,数据类型主要分为两大类,一类是内置类型,另一类是自定义类型,今天主要来说一下内置类型
一、数据类型
1、字符型
字符型:char(是character的缩写)signed char表示有符号的字符型,unsigned 插入表示无符号的字符型,
2、整型
3、浮点型
浮点型主要有三种,分别是float(单精度浮点型)、double(双精度浮点型)、long double(更长的浮点型)
4、布尔类型
C 语⾔原来并没有为布尔值单独设置⼀个类型,⽽是使⽤整数 0 表⽰假,⾮零值表⽰真。
在 C99 中也引⼊了 布尔类型 ,是专⻔表⽰真假的。
(创建时可以小写b)
需要注意的是:布尔类型的使用必须包含头文件<stdbool。h>
布尔类型的变量的取值是true或者false
5、数据类型的长度
每⼀种数据类型都有⾃⼰的⻓度,使⽤不同的数据类型,能够创建出⻓度不同的变量,变量⻓度的不同,存储的数据范围就有所差异。
6、sizeof
sizeof 是⼀个关键字,也是操作符,专⻔是⽤来计算sizeof的操作符数的类型⻓度的,单位是字
节。sizeof 操作符的操作数可以是类型,也可是变量或者表达式。
sizeof 的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的。
sizeof 后边的表达式是不真实参与运算的,根据表达式的类型来得出⼤⼩。
sizeof 的计算结果是 size_t 类型的。
sizeof 运算符的返回值,C 语⾔只规定是⽆符号整数,并没有规定具体的类型,⽽是留给
系统⾃⼰去决定, sizeof 到底返回什么类型。不同的系统中,返回值的类型有可能是
unsigned int ,也有可能是 unsigned long ,甚⾄是 unsigned long long ,
对应的 printf() 占位符分别是 %u 、 %lu 和 %llu 。这样不利于程序的可移植性。
C 语⾔提供了⼀个解决⽅法,创造了⼀个类型别名 size_t ,⽤来统⼀表⽰ sizeof 的返
回值类型。对应当前系统的 sizeof 的返回值类型,可能是 unsigned int ,也可能是
unsigned long long 。
例如:
学会了sizzeof的使用,那我们就可以计算一些数据类型的长度
7、signed和unsigned
C 语⾔使⽤ signed 和 unsigned 关键字修饰 字符型和整型 类型,signed表示“有符号的”,unsigned表示“无符号的”
signed int可能存正数也可能存负数,而unsigned int 只能存0和正数
interesting类型默认带有正负号,也就是int等同于signed int
unsigned int ⾥⾯的 int 可以省略
这里再补充一下,%d打印的是有符号类型,而%u打印的是无符号类型
二、变量
1、创建变量
上面讲的类型是用来创建变量的,先来说一下什么是变量吧,c语言中把经常变化的值成为变量,把不变的值称为常量,变量创建的语法形式是这样的:
例如 int num; int age;short n; char m;
变量创建的本质是:向内存申请空间,申请多大的空间取决于变量类型
2、变量的初始化
变量在创建时给一个初始值,就叫初始化,
例如 int a=0; char c='m';
3、变量的分类
变量分为全局变量和局部变量,大家可以理解为,全局变量是在大括号外创建的变量,而局部变量是在大括号内创建的变量
举个例子
、
如图所示,a就是全局变量,b就是局部变量
那么这时候可能会有人要问,如果全局变量和局部变量是同一个字母,那么编译器会按哪个变量处理呢?
其实当局部变量和全局变量同名的时候,局部变量优先使⽤
如图所示,最后打印在屏幕上的a是5,而不是10,所以局部变量优先使用,
但是,在平常写代码的时候,我们还是要尽量避免变量名重复的情况,以免出现判断失误
标签:变量,int,数据类型,unsigned,C语言,类型,sizeof From: https://blog.csdn.net/2401_87402888/article/details/145102115