登录  /  注册
首页 > 常见问题 > 正文

c++数据类型有哪些

青灯夜游
发布: 2019-02-27 15:05:20
原创
59347人浏览过

c++中的数据类型分为两大类:1、预定义类型,包含整型、字符型、布尔型、浮点型、空类型,指针类型;2、自定义数据类型,包含数组、结构体struct、联合体union、枚举enum。

c++数据类型有哪些

C++ 为程序员提供了种类丰富的内置预定义数据类型和用户自定义的数据类型。下面我们将为大家具体介绍这两大类型的数据,具有一定的参考作用,希望对大家有所帮助。

【视频教程推荐:C++教程

c++中的数据类型:

1、预定义类型

整型

c++有四种整型类型:short、int、long、long long,每种都有signed(有符号,默认)、unsigned(无符号)两种分类,有符号整数既可以表示非负整数,又可以表示负整数;但是,无符号整数不能表示负数,只能表示非负整数。

在c++的实现中,每一种类型在不同系统上使用的存储位数(宽度)是不同的,其规则为:

 ● short至少16位

 ● int至少与short一样长

 ● long至少32位,且至少与int一样长

 ● long long至少64位,且至少与long一样长

字符型

类型  含义  该类型数据所占的最小比特位数
char  字符  8位(即可表示28个字符)
wchar_t 宽字符  16位
char16_t Unicode字符  16位
char32_t  Unicode字符  32位

布尔型

布尔类型(bool)是C++新增的一种基本数据类型。在标准的C语言中并未定义bool类型,如果需要使用bool类型,程序员可以通过宏定义来自定义一个bool类型,定义语句如下:

#define bool int
#define false 0
#define true 1
登录后复制

也就是将int型定义为bool型,将int型的0和1两个值分别定义为bool类型的两个值true和false。

1.png

浮点型

浮点型分为以下几种:

2.png

空类型

关键字void定义的类型,不能用于普通变量的声明和普通的操作,只能用于指针型变量,函数返回值和函数参数。

指针类型

指针,用来描述内存地址,并通过提供指针操作来实现与内存相关的程序功能。

<类型>* <指针变量>;
登录后复制

说明:

其中<类型>决定了指向的内存空间的大小。

指针变量也是一种变量,有着自己的内存空间,该空间上存储的是另一个变量的内存空间。

2、自定义数据类型

数组类型

数组类型是一种有固定多个同类型的元素按一定次序所构成的数据类型。

1、一维数组类型

1)定义

数据类型 数组名[元素个数] ;
登录后复制

2)操作

● 通过下标访问元素。

  注意下标是否越界。(C++中为了保证程序的执行效率不对下标越界进行检查,越界时可以运行,但是结果不可预测)

● 初始化

  int a[10] = {1,2,3};//其他元素初始化为0

  int a[] = {1,2,3};//元素个数为3

2、二维数组类型

1)定义

数据类型 数组名[常量表达式1][常量表达式2]
登录后复制

2)初始化  

int a[2][3] = {{1,2,3},{4,5,6}}; 
//等同于 
int a[2][3] = {1,2,3,4,5,6};//二维数组可以转成一维数组进行处理,但是要注意下标
登录后复制
int a[][3] = {{1,2},{3,4,5}};//第一个下标可以省略,其他的不能,更高维的数组也同此。
登录后复制

按行存储!

结构体数据类型

1、结构体

结构体是由一系列具有相同类型或者不同类型的数据构成的数据集合。

定义:

  struct 名称{
    数据类型 变量名1;
     数据类型 变量名2;
     。。。。 
     数据类型 变量名n;
   }结构体变量名;
登录后复制

2、结构体数组:

struct Info{
   int age;
   char name[32];
}info[SIZE];
登录后复制

3、结构体嵌套:

struct BookInfo{
   char name[SIZE];
   char author[SIZE];
   int status;
};
  struct ReadreInfo{
   char Name[SIZE];
   char Date[SIZE];
 };
//结构体嵌套
 struct LibraryInfo{
   int ID;
   struct BookInfo book;
   struct ReadreInfo reader;
  }LibraryInfo;
登录后复制

联合体类型

联合体的使用方式和结构体及普通变量类似。

union 名称{
  类型变量符 变量名;
   ......
    类型变量符 变量名;
  };
登录后复制

联合体的主要作用就是节省内存,因为联合体中的·变量不像结构体中的成员变量那样,系统会给其中的每一个变量都分配相应的内存。在联合体中,所有的成员变量共享一块内存空间。该内存空间是其成员变量中占字节数最多的变量所占用的内存空间,并且所有的成员变量共用这一块内存空间,因此联合体中所有成员变量地址是一样的。

枚举类型

枚举类型(enumeration)是C++中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。

如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。所谓"枚举"是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。

创建枚举,需要使用关键字 enum。枚举类型的一般形式为:

enum 枚举名{ 
     标识符[=整型常数], 
     标识符[=整型常数], 
... 
    标识符[=整型常数]
} 枚举变量;
登录后复制

如果枚举没有初始化, 即省掉"=整型常数"时, 则从第一个标识符开始。

例如,下面的代码定义了一个颜色枚举,变量 c 的类型为 color。最后,c 被赋值为 "blue"。

enum color { red, green, blue } c;
c = blue;
登录后复制

默认情况下,第一个名称的值为 0,第二个名称的值为 1,第三个名称的值为 2,以此类推。但是,您也可以给名称赋予一个特殊的值,只需要添加一个初始值即可。例如,在下面的枚举中,green 的值为 5。

enum color { red, green=5, blue };
登录后复制

在这里,blue 的值为 6,因为默认情况下,每个名称都会比它前面一个名称大 1,但 red 的值依然为 0。

以上就是c++数据类型有哪些的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号