C语言——基本数据类型

基本数据类型介绍:

C语言提供了许多数据类型来描述生活中的各种数据,小数有浮点数类型,整数有整型,字符有字符串类型。只有写清了数据的类型,编译器才可以更好的帮我们处理数据,不会出现截断或者溢出。

下面盘点一下C语言中常用的内置数据类型:

声明数据类型的方法:

  • 字符串

    	char;  //字符串类型
    	[signed] char;  //有符号字符串  
    	unsigned char;  //无符号字符串

  • 整型

    	short [int];  //短整型
    	[signed] short [int];  //有符号短整型
    	unsigned short [int];   //无符号短整型
    
    	int;  //整型
    	[signed] int;  //有符号整型
    	unsigned int;  //无符号整型
    
    	long [int];  //长整型
    	[signed] long [int];  //有符号长整型
    	unsigned long [int];   //无符号长整型
    
    	//c99中引入
    	long long [int];  //更长的整型
    	[signed] long long [int];  
    	unsigned long long [int]; 

        上图中 [  ] 标注部分为可省略部分,可以看出,数据在声明是默认为有符号,无符号和有符号的区别在于无符号的第一位不再作为符号位,数据使用范围与有符号不一样。有符号和无符号的可以使用 signed unsigned 声明;

  • 浮点数

    	float;  //单精度浮点型
    	double;  //双精度浮点型
    	long double;

        有无符号与整型同理。

  • 布尔类型

#include <stdbool.h>
#include <stdio.h>
int main()
{
	_Bool flag = true;
	if (flag){
		printf("I like you");
	}
	return 0;
}	

        c语言中原来使用整数 0 来表示假,非 0 来表示真,没有专门的类型来判断真假。在C99中引入了布尔类型来专门表示,使用前需要加入头文件 <stdbool.h> 

数据类型的长度:

        每一种数据类型都有长度,长度不同,占用的内存与可用的数据范围也不同。

        sizeof操作符:

                sizeof 是一个关键字,也是一个操作符,可以计算数据类型的长度,单位为字节(Byte)。

                sizeof 操作符的操作数既可以是类型也可以是表达式

	sizeof(类型)
	sizeof 表达式

                sizeof 的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的;

                sizeof 的计算结果是 size_t 类型的,占位符用 %zd

                下图是各类型的长度:

#include <stdio.h>
int main()
{
	printf("%zd\n", sizeof(char));  //1
	printf("%zd\n", sizeof(_Bool));  //1
	printf("%zd\n", sizeof(short));  //2
	printf("%zd\n", sizeof(int));  //4
	printf("%zd\n", sizeof(long));  //4
	printf("%zd\n", sizeof(long long));  //8
	printf("%zd\n", sizeof(float));  //4
	printf("%zd\n", sizeof(double));  //8
	printf("%zd\n", sizeof(long double));  //8
	return 0;
}

        sizeof 后边的表达式是不真实参与运算的,根据表达式的类型来得出大小:

#include <stdio.h>
int main()
{
	int a = 2;    //4
	short b = 3.5;   //2
	printf("%zd\n", sizeof(a / b));  //输出结果4

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值