C语言数据类型

亮术网 2020-09-04 本网整理

在C语言中,数据类型分为基本类型、构造类型、指针类型和空类型void。其中基本类型又分为数值类型和字符类型;数值类型又分为整型和浮点型。构造类型又分为数组、结构体、共用体和枚举类型。

对于一些基本类型(int、char)可以用 signed(有符号)、unsigned(无符号)、short、long 修饰。signed 和 unsigned 可以修饰 int 和 char;short 和 long 可以修饰 int 和 double。一般修饰符不算基本类型,不但不同的书有不同的定义。

 

一、基本类型

一)数值型

1、整型

1)short int

short int 表示一种短整型,可以简写为 short,范围 -32768 到 +32767 ,16 位整数。

 

2)int

int 表示一种整型,范围 -32768 到 +32767,16 位整数。

 

3)unsigned int

unsigned int 表示一种无符号整型,范围 0 到 32767,16 位整数。

 

4)unsigned short int

unsigned short int 表示一种无符号短整数,可简写为 unsigned short,范围 0 到 32,767,16 位整数。

 

5)long int

long int 表示一种长整数,可简写为 long,范围 -2,147,483,648 到 2,147,483,647,32 位整数。

 

 

6)unsigned long int

unsigned long int 表示一种无符号长整型,可以简写为 unsigned long,0 到 2,147,483,647,32 位整数。

 

7)long long int

long long int 表示一种长长整型,可以简写为 long long,范围 -9223372036854775808 到 +9223372036854775807,64 位整数。

 

 

2、浮点型

1)float

float 表示存储 32 位浮点值的单精度类型,范围 -3.4e-38 到 3.4e38,精度 7 位。

 

2)double

double 表示存储 64 位浮点值的双精度类型,范围 1.7e-308 到 1.7e308,精度约 16 位。

 

3)long double

long double 表示存储 128 位浮点值的长双精度类型,范围 3.4e-4932 到 1.1e4932,精度约 19 位。

 

 

二)字符型(char)

char 用于存储字符,长度是一个字节8位,分为3种,分别是 char、signed char 和 unsigned char。char 是 signed char 还是 unsigned char,取决于编辑器。

signed char 范围是 -128 到 127;unsigned char 取值范围是 0 到 255。

 

 

二、构造类型

1、数组

数组是一种组合的数据类型,分一维数组和多维数组,下标从0开始。如定义一个整型一维数组 int a[6]={ 0,1,2,3,4,5},定义一个字符型二维数组 char s[5][5]。

 

2、结构体(struct)

struct 是指包含多个单一的数据集合,很像数据库中的记录,结构中定义的变量很像记录的字段。定义形式:

struct 标识符

{

   成员表

};

 

3、共用体(union)

union 也是用来描述类型不相同的数据,但与 struct 不同,数据成员存储时采用覆盖技术,共享存储空间,即数据成员在内存中占用同一段存储单元。定义形式:

union 标识符

{

   成员表

};

 

4、枚举类型(enum)

enum 用于声明一组命名的常数,定义形式:

enum 标识符

{

枚举数据表

};

 

 

三、指针类型

指针是指向变量的地址,实质上就是存贮单元的地址。根据所指的变量类型不同,分为整型指针(int *)、浮点型指针(float *)、字符型指针(char *)、结构指针(struct *)和联合指针(union *)。

 

四、空类型(void)

void 的字面意思是“空类型”,void * 则为“空类型指针”,void * 可以指向任何类型的数据。它主要有两方面的用途:一方面是明确表示一个函数不返回任何值;另一方面是定义一个不指向任何地址的指针,需要时再把它指向具体地址。