数据类型与变量

1、数据类型的介绍

C语言提供了丰富的数据类型用来描述生活中的各项数据。例如某人的身高是1.8m(浮点型数据),体重是100斤(整型)。
在这里插入图片描述

1.1字符型(字符的本质就是整数,因为字符在内存中存储的是ascll值的二进制形式

在这里插入图片描述

1.2整型

在这里插入图片描述

1.3浮点型

在这里插入图片描述

1.4布尔类型(_Bool)

布尔类型是用来表示真假的类型。C语言中之前没有布尔类型,是用0表示假,非0表示真。布尔类型是C99标准中引入的,布尔类型的变量有两种取值,分别是true(真)与false(假)。使用布尔类型前要包含头文件<stdbool.h>
在这里插入图片描述

2.各种数据类型的长度

根据不同的数据类型创建的变量,能存储的数据的取值范围通常有差异。

2.1:sizeof操作符

2.1.1:对于sizeof(表达式)而言,sizeof只关心括号内表达式是什么类型,然后计算该类型在内存中占了多少字节,括号内的表达式并不会被执行

int main() 
	{
   
		short s = 5;	
		int n = 10;	
		printf("%zd\n", sizeof(s = n + 5));//2个字节	
		/*	
		sizeof并不会去计算s=n+5这个表达式,它会认为n和5都是整型,两者相加的结果也是整型,	
		将整型赋值给短整型后,整个表达式的类型也是短整型。故sizeof求的是短整型所占的空间。	短整型占2个字节	
		*/
		printf("%d\n", s);//5,s的值并没有变	
		printf("%zd\n", sizeof(n = n + 5));//4个字节
		/*	
		sizeof并不会去计算n=n+5这个表达式,它会认为它会认为n和5都是整型,两者相加的结果也是整型,	
		将整型赋值给整型后,整个表达式的类型也是整型,故sizeof计算的是整型所占的空间	
		*/	
		printf("%d\n", n);//10,n的值并没有变	
		return 0;
	}

2.1.2:C语言规定sizeof的返回值是无符号整数,它的返回值类型是由编译器决定的,可能是unsigned int 、unsigned long 、unsigned long long,这三种返回值类型分别需要用%u、%lu、%llu来打印。这样的话就不利于程序的移植性,C语言为了解决这个问题,单独为sizeof的返回值创建了size_t类型,用%zd来打印size_t类型。另外,规定strlen函数的返回值类型也是size_t。另外size_t类型在使用前要包含头文件<stdio.h>,(头文件里面不光有函数的声明,可能还有类型的声明)

2.2计算机中内存的单位

在这里插入图片描述

2.3:计算各种数据类型的长度

C语言规定: sizeof(long)>= sizeof(int) ;sizeof(long double) >= sizeof(double)

#include<stdio.h>
#include<stdbool.h>
int main()
{
   
	printf("%zd\n", sizeof(char));//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", 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值