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

数据类型


 关于C语言详解系列博客的目录:https://blog.csdn.net/snake_lp/article/details/78630717点击打开链接


一,概述

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

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

 

二,数据类型的分类

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

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

三,各种数据类型的介绍

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

3.1整型

         整型分为短整型(短),整型(INT),长整型(长)。同时整型又可以细分为无符号(无符号)和有符号(签字),默认情况下为有符号的。

        

3.2浮点型

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

 

3.3字符型

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

 

3.4数组

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

 

3.5结构体

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

 

3.6共用体(联合体)

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

 

3.7枚举类型

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

 

3.8指针类型

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

 

3.9空类型无效

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

 

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

例如:在32位的开发中 - 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));

}

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

字符大小= 1

int size = 4

短尺寸= 2

长尺码= 4

浮点大小= 4

双倍大小= 8

 

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

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

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