C语言 数据

1.基本数据类型
{
   整型家族:
           整型家族包括 字符型(char)、短整型(short int 可以简写为 short)、整型(int)、长整型(long int 可以简写为 long)。
           都可以分为有符号(signed)和无符号(unsigned)
          
                                     变量的最小范围
            //长整型至少和整型一样从,整型至少和短整型一样长
           //不同编译器的变量大小不同,这只是最小范围,具体根据编译器而定
           -----------------------------------------------------------
                       类型                      //            最小范围
                       char            //            0 ~ 127
           signed char        //         -127 ~ 127
          unsigned char       //            0 ~ 255
           short int          //       -32767 ~ 32676
       unsigned short int     //         0 ~ 65535
              int             //       -32676 ~ 32676
          unsigned int        //         0 ~ 65535
            long int          //     -2147483647 ~ 2147483647
       unsigned long int      //        0 ~ 429467295
       
       整型字面值 : 字面值 是 字面值常量 的缩写--这是一种实体,指定了自身的值,不允许发生改变      
       // ANSIC 允许命名常量(声明为 const 的变量,被初始化后,它的值不能改变)
       十进制:正常使用
            整数   八进制:数值前面以0开头
                     十六进制:数值前面以0x开头(0~15从小到大依次表示为0 1 2 3 4 5 6 7 8 9 a b c d e f(字母大小写均可) )
           枚举类型(enum): 指它的值为符号常量而不是字面值的类型,声明形式如下
           enum student {student1,student2,student3,student4,student5};
      声明了一个枚举类型,名称为student。可以对里面的student1,student2,student3,student4,student5进行赋值(若未赋值,则默认为0~4,每次加1)
          //注意:同一程序中不能定义同类型名的枚举类型;不同枚举类型的枚举元素不能同名
     浮点类型:小数或者指数无法按照整型存储,可以用浮点数的形式存储。
          浮点数家族包括单精度(float)、双精度(double)、和拓展精度(long double,部分机器支持)。
          //ASIC 规定:long double 至少和 double 一样长, double 至少和 float 一样大。
          //所有浮点类型至少能够容纳 10e-37  ~ 10e+37 (10的-37次方 ~ 10的37次方)
     指针: 变量的值存储在计算机的内存中,每个变量都占据一个特定的位置。每个内存位置都由地址唯一确定并引用(可以参考门牌号码)
               指针就是地址的另一个名字。指针变量就是一个其值为另外一个(一些)内存地址的变量。
         指针常量:本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。
         字符串常量:字符串在本质上是多个字符组成的字符数组,C语言规定,在每个字符串常量的结尾,系统会自动加一个字符 '\0' ,作为该字符串的结束标识符,根据是否是 '\0' 判断字符串是否结束。
        // '\0' 是系统自动加上的,不是人为添加的。
}
2.基本声明
{
   初始化:在一个声明中,可以给一个表量变量指定一个初始值,方法是在变量后面跟 一个等号(赋值号),后面是赋给变量的值
                例如: int i = 0; //声明i为一个整型变量,其初始值为0.
   声明一维数组:在数组名后面跟一对方括号([]),方括号里是一个不可变化的整数(不能是变量),指定数组中元素的个数
                例如: int arr[10]; //声明一个有10个元素的数组为arr,数组下标从0开始,依次加1.
   声明指针:定义指针的一般类型为:
          <类型> <变量标识符>,<变量标识符>,…;
                需要注意的是:
                对于32位操作系统,内存地址大小是4个字节,指针变量的大小也需要4 个字节。
                对于64位操作系统,内存地址大小是8个字节,指针变量的大小也需要8个字节。
   隐式声明:有几种声明,其类型名可以省略。例如:如果函数不显示声明返回值的类型,就会默认返回整型。(一般编译器会报错)
}
3.常量:常量和变量的样子完全一样,只是值不能改变。
4.作用域
{
   代码块作用域:在代码块的定义的变量,具有代码块作用域。作用范围是从变量定义的位置开始,到标志该代码块结束的右大括号(})处。
尽管函数的形式参数不在大括号内定义,但其同样具有代码块作用域,隶属于包含函数体的代码块
 
   文件作用域:任何在代码块之外声明的标识符都具有文件作用域,作用范围是从他们的声明位置开始,到文件的结尾处都是可以访问的
函数名也具有文件作用域,因为函数名本身也是在代码块之外
   原型作用域:任何在代码块之外声明的标识符都具有文件作用域,作用范围是从他们的声明位置开始,到文件的结尾处都是可以访问的
函数名也具有文件作用域,因为函数名本身也是在代码块之外
   函数作用域:只适用于goto语句的标签,作用将goto语句的标签限制在同一个函数内部,以防出现重名标签    
                       //一个函数中的所有语句标签必须唯一
}

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值