C语言数据类型

亮术网 2013-05-03 本网整理

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

365bet中文官方网   对于一些基本类型(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

  ushort 表示一种长整数,可简写为 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 表示一种长长整型,可以简写为 -9223372036854775808 到 +9223372036854775807,可以简写为 long long,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 * 可以指向任何类型的数据。它主要有两方面的用途:一方面是明确表示一个函数不返回任何值;另一方面是定义一个不指向任何地址的指针,需要时再把它指向具体地址。

本文浓缩标签:C语言数据类型