在c语言中,数据类型指的是用于不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量的存储占用的空间,以及如何解释存储的位模式。
c中的类型可分为以下几种:
1.基本类型:它们是算术类型,包括两种类型:整形类型和浮点类型
2.枚举类型:它们也是算数类型,被用来定义在程序中只能赋予其一定的离散整数值的变量
3.void类型:类型说明符void表明没有可用的值
4.派生类型:它们包括:指针类型,数组类型,结构类型,共用体类型和函数类型
数组类型和结构类型统称为聚合类型。函数的类型指的是函数返回值的类型。
整数类型
类型 存储大小 值范围
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,147483647
unsigned
long 4字节 0到4,294,967,295
注意:各种类型的存储大小与系统有关,但目前通用的是以64位系统为主。
为了得到某个类型或某个变量在特定平台上的准确大小,可以使用sizeof运算符。表达式sizeof(type)得到对象或类型的存储字节大小。
浮点类型
类型 存储大小 值范围 精度
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+4392 19位小数
头文件float.h定义了宏,在程序中可以使用这些值和其他有关实数二进制表示的细节。下面这个实例将输出浮点类型占用的存储空间以及它的范围值:
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <float.h>
int main()
{
printf("float 存储最大字节数 : %lu \n", sizeof(float));
printf("float 最小值: %E\n", FLT_MIN );
printf("float 最大值: %E\n", FLT_MAX );
printf("精度值: %d\n", FLT_DIG );
return 0;
}
来自CODE的代码片
snippet_file_1.txt
void类型
void类型指定没有可用的值。他通常用于以下三种情况:
1.函数返回为空
2.函数参数为空
3.指针指向void
类型为void*的指针代表对象的地址,而不是类型。例如,内存分配函数void *malloc(size_t size);返回指向void的指针,可以转换为任何数据类型。