C语言详解(1)数据类型

来源:互联网 发布:ios11怎么更新软件 编辑:程序博客网 时间:2024/06/11 11:44

数据类型


 关于C语言详解系列blog的目录:http://blog.csdn.net/snake_lp/article/details/78630717


一、概述

数据类型就是固定内存大小空间的别名。简单的说,数据类型就是创建变量的模板。变量在内存空间地址的分配就是根据定义的数据类型的大小进行分配的。如果创建的数组,各个元素所暂用的空间,就是数据类型的内存大小。

需要注意的是,char表示内存大小为一个字节的数据,但是一个字节的数据不全为char类型。数据类型也不仅仅体现在内存大小中。比如说,都是占用一个字节,不同的数据类型,对数据的解析方式就是不同的,显示给用户看到的也是不一样的。就比如说,内存中的数据为0100 0001,如果以int类型去解析的话,就是65;如果以char类型去解析的话,就是‘A’。

 

二、数据类型的分类

数据类型可以分成基本数据类型、构造类型、指针类型(派生类型)、空类型。其中每个类型下面又有各个小类,就具体的关系见图1

图1

三、各种数据类型的介绍

不同的数据类型表示数据的范围和形式存在差异。比如说整型只能表示整数,浮点型表示的是小数。这里主要介绍基本数据类型,其他的类型,将使用专题来探讨。

3.1 整型

         整型分为短整型(short)、整型(int)、长整型(long)。同时整型又可以细分为无符号(unsigned)和有符号(signed),默认情况下为有符号的。

        

3.2浮点型

         浮点型分为单精度型(float)和双精度型(double)。这两种类型都是表示有符号的数,并且带有小数点。单精度和双精度所占用的内存大小不一样,也就意味着他们表示的数值范围不一致,同时他们的精度也是不一致的。在32位系统中float类型为4byte,double类型为8byte。

 

3.3 字符型

         字符类型比较特殊,在各种不同的系统中,char类型都是占用一个字节(8bit)。用于表示一个字符。但是char和int之间存在转换的,char可以使用ASCII的int类型来表示的。

 

3.4 数组

         数组是同一类数据类型的集合。

 

3.5 结构体

         结构体是不同数据类型的集合。

 

3.6 共用体(联合体)

         共用体也是不同数据类型的集合,但是内部成员共用内存空间。

 

3.7枚举类型

         它是用于声明一组命名的参数,其值为int类型。

 

3.8 指针类型

         它用于存储变量地址的类型,即该参数是指向变量的地址,所以为指针。

 

3.9 空类型void

         简单的理解,就是没有类型的类型。

 

在不同的系统中各个数据类型占用的内存大小空间是存在区别的。但是char类型不管在什么系统中都是占用1byte。在不同的操作系统是想要知道各个类型所占用的字节大小可以使用关键字sizeof来查询。

例如:在32位的Dev-C++5.11中,运行以下代码:

#include<stdio.h>

 

int main(void)

{

         printf("char size =%d\n",sizeof(char));

         printf("int size =%d\n",sizeof(int));

         printf("short size =%d\n",sizeof(short));

         printf("long size =%d\n",sizeof(long));

         printf("float size =%d\n",sizeof(float));

         printf("double size =%d\n",sizeof(double));

}

运行结果就是各个数据类型占用的字节数了

char size = 1

int size = 4

short size = 2

long size = 4

float size = 4

double size = 8

 

附上基本数据类型的暂用字节数和取值范围(图片取至网络)


注意:“[]”代表可以省略。


原创粉丝点击