C++

数据类型

技术小贴
技术小贴

基本类型

类型 关键字
布尔型 bool
字符型 char
整型 int
浮点型 float
双浮点型 double
无类型 void
宽字符型 wchar_t

其实 wchar_t 是这样来的:

typedef short int wchar_t;

需要注意的是:

size_t 在 C 语言中就有了。

它是一种 整型 类型,里面保存的是一个整数,就像 int, long 那样。这种整数用来记录一个大小(size)。size_t 的全称应该是 size type,就是说 一种用来记录大小的数据类型

通常我们用 sizeof(XXX) 操作,这个操作所得到的结果就是 size_t 类型。

因为 size_t 类型的数据其实是保存了一个整数,所以它也可以做加减乘除,也可以转化为 int 并赋值给 int 类型的变量。

类似的还有 wchar_t, ptrdiff_t

wchar_t 就是 wide char type, 一种用来记录一个宽字符的数据类型 。

ptrdiff_t 就是 pointer difference type, 一种用来记录两个指针之间的距离的数据类型 。

通常,size_t 和 ptrdiff_t 都是用 typedef 来实现的。你可能在某个头文件里面找到类似的语句:

typedef unsigned int size_t;

而 wchar_t 则稍有不同。在一些旧的编译器中,wchar_t 也可能是用 typedef 来实现,但是新的标准中 wchar_t 已经是 C/C++ 语言的关键字,wchar_t 类型的地位已经和 char, int 的地位等同了。

int i;                   // 定义一个 int 类型的变量 i
size_t size=sizeof(i);   // 用 sizeof 操作得到变量i的类型的大小
// 这是一个size_t类型的值
// 可以用来对一个size_t类型的变量做初始化

i=(int)size;             // size_t 类型的值可以转化为 int 类型的值
char c='a';              // c 保存了字符 a,占一个字节
wchar_t wc=L'a';         // wc 保存了宽字符 a,占两个字节
// 注意 'a' 表示字符 a,L'a' 表示宽字符 a

int arr[]={1,2,3,4,5};   // 定义一个数组
int *p1=&arr[0];         // 取得数组中元素的地址,赋值给指针
int *p2=&arr[3];
ptrdiff_t diff=p2-p1;    // 指针的减法可以计算两个指针之间相隔的元素个数
// 所得结果是一个 ptrdiff_t 类型

i=(int)diff;             // ptrdiff_t 类型的值可以转化为 int 类型的值

typedef

您可以使用 typedef 为一个已有的类型取一个新的名字。下面是使用 typedef 定义一个新类型的语法:

typedef type newname;

例如,下面的语句会告诉编译器,feet 是 int 的另一个名称:

typedef int feet;

现在,下面的声明是完全合法的,它创建了一个整型变量 distance:

feet distance;

枚举类型

枚举类型(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。

类型转换

原创文章,作者:小嵘源码,如若转载,请注明出处:https://www.lcpttec.com/cplusplus/

(1)
上一篇 2019年9月30日 下午3:43
下一篇 2019年9月30日 下午4:04

相关推荐

  • 海外性价比高的私人代理IP购买推荐

    我们在使用各种外链群发软件比如senuke tng scrapebox或者社交营销软件比如instadub pinblster等,都要求我们配合私人代理IP,这里我们推荐一家国外主流的私人代理销售网站,我们自己每月也在使用,非常不错。 网站地址:http://buyproxies.org/ 网站目前提供的代理支持各种外链群发软件,同时指出google  fa…

    2019年11月4日
    3.1K0
  • 国外VPS购买推荐帖子:HOSTSAILOR

    便宜的vps服务器能发财致富呢!国外服务器供应商HOSTSAILOR:服务器vps黑色星期五优惠价格,只需要6.6$一年哦!本方法由峰哥博客提供。工具:谷歌浏览器+谷歌浏览器上面的谷歌自动翻译。(谷歌翻译英文嘛,但博主英文好,是不需要翻译英文的,啊哈哈哈哈哈) 需要的可以上车,6.6$一年目前还有库存,无需优惠码直接购买即可! 这家除了线路比较烂其他都可以!…

    2019年11月30日
    1.9K0
  • 极路由3刷openwrt

    开启开发者模式 登陆路由器管理界面 进入智能插件,选择去往插件市场 点击上方的”路由器信息” 进入高级设置,并按提示开通即可! 成功后提示:登陆地址为192.168.199.1,端口为1022,密码为登陆密码! 这时可以使用MobaXterm等终端工具连接极路由3,进入Shell界面了。 固件下载 为了避免刷机出现问题无法恢复到原来的状态, 需要先刷入一个 …

    2019年9月30日
    5.2K0
  • 插件机器人椎名真白(博客通用版)

    这次小编来介绍另外一款插件机器人:“插件机器人椎名真白(博客通用版)”。大家一起动手,把自己的博客装饰得更好看,更有趣吧。 关于Live2d的插件机器人椎名真白 在原先的基础上加上了如下功能:1.可以基于图灵机器人的聊天功能(需要自己写接口,默认隐藏)。2.能够随意移动并记录位置(关闭浏览器后失效)。3.能够随意唤醒或者关闭并记录状态。4.自动判断浏览器是否…

    2020年2月11日
    2.9K1
  • PSKHOSTING:国外黑色星期五主机空间1$一年

    外贸建站推荐 PSKHOSTING:国外黑色星期五主机空间1$一年 国外黑色星期五主机空间1$一年 5 GB共享主机(1$); 可绑定1个域名 2个数据库 5 GB储存空间 150 GB每月传输 无限的FTP帐户 1个电子邮件帐号 购买地址:https://clients.pskhosting.com/cart.php?a=add&pid=115 6…

    2019年11月30日
    2.1K0
  • Linux内核编程之Makefile

    总述 Makefile是一个文本形式的数据库文件,其中包含一些规则来告诉make处理哪些文件以及如何处理这些文件。这些规则主要是描述目标文件是从哪些别的依赖文件中产生的,以及用什么命令来执行这个过程。 执行make命令时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。 它会对磁盘上的文件进行检查,如果目标文件的生成或被改动…

    2019年9月26日
    1.4K0
  • CONTABO:黑色星期五优惠德国VPS

    俗话说:”便宜的vps服务器能发家致富“。今天,小编继续来推荐外贸建站服务器VPS。CONTABO:黑色星期五优惠德国VPS。 黑色星期五优惠德国VPS contabo从2003年开始运作到现在,有两处自建的独立机房,主要业务是独立服务器出租(包括设备托管),其次是VPS、虚拟主机、域名;主持银行转账、PayPal付款等方式。 商家细节介绍; KVM虚拟,1…

    2019年11月30日
    2.1K0
  • About A Blog

    博客的搭建 环境安装 安装git 安装node.js 安装hexo ​ npm install -g hexo-cli 测试是否成功安装 $ hexo -v hexo: 3.4.2 生成博客雏形 cd进入一个博客的目录,如D:My Blog 初始化博客 ​ hexo init hexo会将这个文件夹初始化成一个博客专用文件夹,生成过程稍微要点时间,耐心等待。…

    2019年9月30日
    1.9K0
  • 俄罗斯VPS云服务器155元/3年支持支付宝

    俄罗斯VPS云服务器155元/3年支持支付宝,本方法有峰哥博客提供。工具:谷歌浏览器+谷歌浏览器上面的谷歌自动翻译。(需要翻译俄罗斯文) VPS配置如下; CPU:E5-2650 内存:512MB(实际只有458MB) 硬盘:10G(SWAP:1G) IPV4:1 构架:KVM   博主家里联通网用着还行,延迟在130~160之间 有图比基本稳定在…

    2019年11月30日
    1.3K0
  • 推荐一款免费文件对比比较工具

    推荐一款免费文件对比比较工具。希望能帮助大家做好内容。 Diffinity这是一款免费的文件对比工具,分析文本、网页、代码的差异化工具。是站长网络安全必不可少的辅助软件。Diffinity 是Windows 下的文本文件对比和合并工具,支持代码高亮、逐行显示差异、集成 Windows 资源管理器等功能。 Diffinity软件简介 Diffinity是一款简…

    2019年12月15日
    3.2K0
  • VIRMACH:黑色星期五活动VPS

    今天,小编继续来推荐外贸建站服务器VPS。VIRMACH:黑色星期五活动VPS。 黑色星期五活动VPS 需要的可以去看一看,附上实时更新的监控! 地址:http://virma.ch/2019bf  

    2019年11月30日
    2.0K0
  • Python

    基础语法 变量 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。 变量赋值 #coding=utf-8 #!/usr/bin/python counter = 100 # 赋值整型变量 mil…

    2019年9月30日
    2.2K0