c语言的7种数据类型(最近在学习C语言)

格式说明:以[signed] int 为例表明该类型的完整表达是 signed int只不过signed可以省略所以 int 也代表 signed int 类型,接下来我们就来聊聊关于c语言的7种数据类型?以下内容大家不妨参考一二希望能帮到您!

c语言的7种数据类型(最近在学习C语言)

c语言的7种数据类型

格式说明:以[signed] int 为例表明该类型的完整表达是 signed int只不过signed可以省略所以 int 也代表 signed int 类型

signed和unsigned说明

  • signed 代表有符号,最高位将被看做为符号位。
  • 符号位为1时,代表这个数是负数(-n);2. 符号位为0时,代表这个数是正数( n)。
  • unsigned 代表无符号,所有位都被看成是数据位。
  • 只能代表正数( n)。
  • 以八位二进制数 1000 0001 为例
  • 如果是unsigned,则该二进制数表示 129 。
  • 如果是signed,则该二进制数表示 -1 。

​ (仅作说明,不考虑具体类型大小,类型转换,数据的裁切或补充)

类型占据的内存的大小查询

  • 使用 sizeof(类型格式) 就能查询到该类型占据的内存的大小,单位是字节。
  • 一个字节包含8个bit位。

定义变量说明

  • 仅作展示变量(全篇都用var代表)应该在的位置。
  • 在实际使用时,记得要初始化变量。
  • 整型
    • 简要说就是存放整数的类型。包含下面几种。
  • 有符号短整型

类型格式:[signed] short [int]

定义变量:short var;

  • 无符号短整型
  • 类型格式:unsigned short [int]

    定义变量:unsigned short var;

  • 有符号基本整型
  • 类型格式:[signed] int

    定义变量:int var;

  • 无符号基本整型
  • 类型格式:unsigned [int]

    定义变量:unsigned var;

  • 有符号长整型
  • 类型格式:[signed] long [int]

    定义变量:long var;

  • 无符号长整型
  • 类型格式:unsigned long [int]

    定义变量:unsigned long var;

  • 有符号长长整型
  • 类型格式:[signed] long long [int]

    定义变量:long long var;

  • 无符号长长整型
  • 类型格式 :unsigned long long [int]

    定义变量:unsigned long long var;

    总结

    • 可将限定词分为两种:有无符号限定词:signed和unsigned。如果不指定,则默认是signed 。内存长度限定词:short、long、long long。int 代表整型,如果有限定词修饰,一般可以省略。除非省无可省。内存长度限定词从short--->long 表示存数据用的内存越来越大,能存的数据范围也越来越大。可能long 和 int 占的内存一样大。

    浮点型

    • 简单来说你要存放小数就用浮点型。包含以下两种。

    单精度浮点型

    类型格式:float

    定义变量:float var;

    双精度浮点型

    类型格式:double

    定义变量:double var;

    长双精度浮点型

    类型格式: long double

    定义变量: long double var;

    总结

    • float、double、long double, 能存放的数据范围越来越大。
    • 如果有兴趣,可以自行查询浮点数表示规则。

    字符型

    有符号字符型

    类型格式:[signed] char

    无符号字符型

    类型格式:unsigned char

    总结

    • 字符型变量存放的是该字符在ASCII表中对应的码值。如果有兴趣,可以查询如果用数字赋值,超出范围后怎么处理。
    • 中文字符应存放在字符串中,还会存在编码问题。''单引号里面放一个字符,表示一个字符。""双引号里面放任意个字符,表示一个字符串。
    • 结合转义符还能组合出一些有特殊功能的字符。比如'\n',表示回车换行。

    复数

    • 有需要可以自行查询,这里不作介绍。

    枚举类型

    类型格式

    enum 枚举名 { 枚举常量1[ = 初始值1], 枚举常量2[ = 初始值2], ... 枚举常量n[ = 初始值n] };

    定义变量

    enum Color { RED, YELLOW = 2, BLUE, GREEN };//定义enum的格式 enum Color var;//定义该enum类型的变量

    总结

    • 枚举常量是一个常量,甚至可以用来指定数组的长度。
    • 枚举常量的值如果某个枚举常量给了初始值,那么该常量的值就是这个初始值。如果第一个枚举常量没给初始值,则它的值为0。如果非第一个枚举常量没给初始值,则它的值为 从前面最近的确定了值的枚举常量 1顺延下来。例子中的RED的值为0,YELLOW的值为2,BLUE的值为3,GREEN的值为4。

    联合体

    类型格式

    union 联合体名 { 类型1 成员1; 类型2 成员2; ... 类型n 成员n; };

    定义变量

    union Price { int i_price; float f_price; }; union Price var;

    总结

    • 联合体成员都共用一个首地址,如果存值和取值的成员不一样,而它们的类型也不同,那么几乎不能得到你想要的数据。
    • 可以通过 联合体变量.成员名 来访问(读取或写入)成员,即以该成员类型的方式访问联合体中的数据。

    空类型

    类型格式:void

    使用: void func(void)

    总结

    • 空类型一般都是和函数一起出现的。当函数不需要返回值时,则将函数的返回值给定为void。当函数不需要参数时,形参列表空着,此时函数调用的时候给不给实参都不会报错。当函数不需要参数时,可以将形参列表给定为void,则此时函数调用的时候,如果给了实参,则会报错。
    ,

    免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

      分享
      投诉
      首页