C中的数据类型 :在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。 变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
常用的四中基本数据类型:int 、char、float、double
▶ 基本类型:它们是算术类型,如int、char、float、double。
▶ 指针类型:它们也是算术类型,用来被定义在程序中只能赋予其一定的离散整数值的变量。
▶ 空类型void:类型说明符void表示没有值的数据类型,通常用于函数的返回值。
▶ 构造类型(派生类型):包括数组类型、指针类型和结构体类型,数组类型和结构类型统称为聚合类型,函数类型指的是函数返回值的类型。
1、整数类型
类型 存储大小 值范围
char 1字节 -128~127或0~255
unsigned char 1字节 0~255
signed char 1字节 -128~127
int 2个或4个字节 -32768~32768或-2147483648~2147483647
unsigned int 2或4个字节 0~65353或0~4294967295
short 2个字节 -32768~32768
unsigned short 2个字节 0~65535
long 4个字节 -2147483648~2147483647
unsigned long 4个字节 0~4294967295
2、 浮点类型
类型 存储大小 值范围 精度
float 4个字节 1.2E-38~3.4E+38 6位有效数字
double 8个字节 2.3E-308~1.7E+308 15位有效数字
long double 16个字节 3.4E-4932~1.1E+4932 19位有效数字
3、void类型
void类型指定没有可用的值。它通常用于以下三种情况:
1、函数返回为空:C中有各种函数都不返回值,或者可以说它们返回空,不返回值的函数的返回类型为空。
如:void exit(int status)
2、函数参数为空:C中有各种函数不接受任何参数,不带参数的函数可以接受一void。
如:int rand(void)
3、指针指向void:类型位void *的指针代表对象地址,而不是类型。
如:内存分配函数void *malloc(size_t size);返回指向void的指针,可以转换为任何数据类型
/* C中的类型转换 */
//1、隐式类型转换:隐式类型转换是在表达式中自动发生的,无需进行任何明确的指令或函数调用
//int i = 10;
//float f = 3.14;
//double d = i + f;//隐式将int类型转换为double类型
//2、显式类型转换:显式类型转换需要使用强制类型转换运算符,它可以将一个数据类型的值强制转换为另一种数据类型的值
//double e = 3.1415926;
//int i = (int)e;//显式将double类型强制转换为int类型
//整型类型
size_t var = 10;
printf("var = %u \n",var);
unsigned int a = 10u;
unsigned short b = 20u;
unsigned long c = 30Lu;
unsigned long long d = 40LLu;
printf("unsigned int 型数据值为:%u \n",a);
printf("unsigned short 型数据值为:%hu \n", b);
printf("unsigned long 型数据值为:%lu \n", c);
printf("unsigned long long 型数据值为:%llu \n", d);
return 0;
}