数据类型
C中数据类型可以分四类
- 基本类型
- 枚举类型
- void类型
- 派生类型
整数类型
类型 | 存储大小 | 值范围 |
---|
char | 1字节 | -128 ~ 127 或 0 ~ 255 |
unsigned char | 1字节 | 0 ~ 255 |
signed char | 1字节 | -128 ~ 127 |
int | 2字节或者4字节 | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
unsigned int | 2字节或者4字节 | 0 到 65,535 或 0 到 4,294,967,295 |
short | 2字节 | -32,768 到 32,767 |
unsigned short | 2字节 | 0 到 65,535 |
long | 4字节 | -2,147,483,648 到 2,147,483,647 |
unsigned | 4字节 | 0 到 4,294,967,295 |
确认某个类型或变量的大小
#include <stdio.h>
#include <limits.h>
int main()
{
printf("int 存储大小 : %lu \n", sizeof(int)); //%lu 为32位无符号整数
return 0;
}
执行结果为
int 存储大小 : 4
浮点类型
类型 | 存储大小 | 值范围 | 精度 |
---|
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 位小数 |
void类型
序号 | 类型 | 描述 |
---|
1 | 函数返回为空 | C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如 void exit (int status); |
2 | 函数参数为空 | C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如 int rand(void); |
3 | 指针指向void | 类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。 |
基本类型书写
以0开头的为8进制 | 045,021 |
---|
以0b开头的为2进制 | 045、021 |
以0x开头的为16进制 | 0x21458abf |
数据类型转换
- C 语言中如果一个表达式中含有不同类型的常量和变量,在计算时,会将它们自动转换为同一种类型;在 C 语言中也可以对数据类型进行强制转换;
- 自动转换:
a)浮点数赋给整型,该浮点数小数被舍去;
b)整数赋给浮点型,数值不变,但是被存储到相应的浮点型变量中; - 强制转换:(类型说明符)(表达式)
#include<stdio.h>
int main()
{
float f,x=3.6,y=5.2;
int i=4,a,b;
a=x+y;
b=(int)(x+y);
f=10/i;
printf("a=%d,b=%d,f=%f,x=%f\n",a,b,f,x);
}