zoukankan      html  css  js  c++  java
  • 5-基本数据类型

    C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle都是C语言写的。

    C语言的数据类型大致可以分为下图中的几类:

    一、不同编译器环境下基本数据类型的存储长度

    红色的代表常用的数据类型

    在64位编译器环境下,short占2个字节(16位),int占4个字节(32位),long占8个字节(64位)。世界上的编译器林林总总,不同编译器环境下,取值范围和占用的长度是不一样的,不过幸运的是,ANSI ISO制定了以下规则

    * short跟int至少为16位(2字节)

    * long至少为32位(4字节)

    * short的长度不能大于int,int的长度不能大于long

    * char一定为为8位(1字节),毕竟char是我们编程能用的最小数据类型

    二、变量

    C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。为什么一定要先定义变量呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。

    1.局部变量的使用跟Java稍微有点不一样

    1> 在Java中,你声明了一个局部变量后,如果没有经过初始化赋值就使用该变量,编译器直接报错

    第9行报错了,因为变量a没有初始化

    2> 在C语言中,你声明看一个局部变量后,没有经过初始化赋值是可以使用的

    复制代码
    1 #include <stdio.h>
    2 
    3 int main()
    4 {
    5     int b;           
    6     printf("%d", b);
    7     return 0;
    8 }
    复制代码

    但这是很危险的,不建议这样做。大多数人应该觉得变量b打印出来应该是0,其实有时候不是。因为系统会随意给变量b赋值,得到的是垃圾数据。

    上述代码的打印结果是:因此,局部变量还是必须先进行初始化赋值,然后再使用,这样才是最安全的做法。

    * 如果是全局的int类型变量,系统会默认赋值为0

    二、类型修饰符

      即在基本数据类型的前面加一些修饰符,也有人称之为限定符

    有以下4种类型修饰符:

    • short  短型
    • long  长型
    • signed  有符号型
    • unsigned  无符号型

    示例:

    这些修饰符最常是用来修饰int类型(可以省略int)

    1 // 下面两种写法是等价的
     2 short int s1 = 1;
     3 short s2 = 1;
     4 
     5 // 下面两种写法是等价的
     6 long int l1 = 2;
     7 long l2 = 2;
     8 
     9 // 可以连续使用2个long
    10 long long ll = 10;
    11 
    12 // 下面两种写法是等价的
    13 signed int si1 = 3;
    14 signed si2 = 3;
    15 
    16 // 下面两种写法是等价的
    17 unsigned int us1 = 4;
    18 unsigned us2 = 4;
    19 
    20 // 也可以同时使用2种修饰符
    21 signed short int ss = 5;
    22 unsigned long int ul = 5;

     signed代表有符号,包括正数、负数和0;unsigned代表无符号,只包括正数和0。比如,signed的取值范围是-32768~32767,那么unsigned的取值范围是0~65535,当然,不同的编译器有不同的取值范围

  • 相关阅读:
    Java NIO3:缓冲区Buffer
    Java NIO2:NIO概述
    Mybatis学习总结(六)——高级映射(一对一,一对多,多对多)
    Java NIO1:浅谈I/O模型
    Java多线程(三)—— synchronized关键字详解
    Java IO(五)——字符流进阶及BufferedWriter、BufferedReader
    Java IO(四)——字符流
    mysql 实现树形的遍历
    Java IO(三)——字节流
    使用 SVN Hook 实现服务器端代码自动更新
  • 原文地址:https://www.cnblogs.com/0zcl/p/6035555.html
Copyright © 2011-2022 走看看