C语言基础--数据类型

	最近在回顾C语言的知识,在这里记录下来。希望会对有缘看到的你有帮助。

一、数据类型

基本类型

  • 整型
  • 浮点型
  • 字符型
  • 枚举型
  • 指针型

空类型

  • 空类型

构造类型

  • 数组
  • 结构体
  • 共用体
  • 整型

    分为长整形(long int、long long int)、整型(int)、短整型(short)。

    在32为机中短整型占2个字节、其余的各占4个字节。

    长度一般遵循:短整型 <= 整型 <=长整形。

    另外又可将整型数据分为有符号和无符号整型。

  • 浮点型

    • 即实数分为单精度(float)和双精度(double)

    • 表示方法:

    1. 小数形式:0.1233,4.789…
    2. 指数形式:3.0E5、-6.8E18
  • 字符变量

    • 字符变量可以看做是整型变量的一种,一般占一个字节

    • 字符变量用于将一个字符存储到内存单元中(整数也可以完成相应的功能),也就是将该字符的ASCALL码值存储到内存中。

    • 分为有符号(signed char,一般省略signed),无符号(unsigned char)。范围分别为(-128-127)、(0-255)。

    • 字符常量:

      • 用单引号括起来的,如:‘a’,‘b’,’+’,’?'等等。

      • 转义字符

        字符形式含义
        \n换行
        \t水平跳到下一制表位置
        \b向前退一格
        \\反斜线符’’
        \r回车
        \f换页,将光标移到下一页的开头
  • 枚举

    • 在实际问题中有些变量的取值被限定在一个有限的范围内,如一周只有七天,此时我们就可以用枚举类型来表示。

      enum 枚举名
      {
      	枚举值列表;
      }
    • 枚举值列表中声明的第一个枚举成员值的值默认为0(在没有未该变量赋初值的情况下),以后的枚举成员值是是前一个枚举成原值加1得到的。

      enum
      {
          morning;
          afternoon = 2;
          evening;
      };
      

      如上例中,morning的值为0,evening的值为3.

      • 注意:这里为枚举类型的赋值必须为整型,否则编译器会报错,另外所赋值也不能超过整数可表示的范围
    • 枚举类型是一种基本的数据类型,因为他不能再分解成其他的类型。

  • 指针

    • 内存单元的编号,通过该编号我们可以找到该编号所对应的内存中的值。
    • 因为32位机的地址长度为32bit,因此无论哪种类型的指针其长度都是4字节。(这个很容易被考到的)
    • 字符串常量
      • 字符串常量和字符常量有很大的区别的,字符串常量是指用双引号括起来的一串字符。
      • 由于字符串在存储的时候系统会自动在末尾加上ASCALL值为0的’\0’,所以长度为n字符常量在内存中战友n+1个字节的空间。
      • 注意:字符常量和字符串常量的区别,如字符常量’A’占一个字节,字符串常量"A"占两个字节。
      • 当一个字符串常量出现在一个表达式中的时候,表达式所使用的值是存储该字符串常量的内存首地址,而不是这些字符本身,我们通常将字符串常量赋给一个字符类型的指针,用于指向该字符串在内存中的首地址
        如:
    char *p = "we are chinese!";
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值