C++数据类型 浅显理解

   为解决不同类型问题,C++中的数据类型产生了。数据类型分为基本类型和自定义类型。


关于数据类型的分类不尽相同,这里选取了下面这种:

基本类型:整型(int)、字符型(char)、布尔型(bool(注意一定是小写))、 浮点型(float、double)、空类型(void)

自定义类型:指针类型(*)、数组(【】)、结构体(struct)、联合体(union)、枚举(enum)、类类型(class)。


基本数据类型的前四种在课本中都有详细介绍,这里要多说一句的就是整型int的长度等于机器的字长,16位机是2字节,32位机是4字节。


空类型不能用来定义变量。空类型用于指针和函数返回值,表示数据类型的不确定性。除了空类型之外,其他基本数据类型的前面都可以加修饰符:signed,unsigned,long,short。


指针的类型就是指向内存数据的类型。换句话说,指针本身是没有数据类型的。举个例子,引用的:

int*ptr;指针的类型是int*

char*ptr; 指针的类型是char*

int**ptr 指针的类型是int**



同一个数组内所有元素的数据类型都是相同的,数组占用的内存空间就是里面元素数据类型占用的内存空间乘它的元素个数。


typedef声明,把标识符声明成某数据类型的别名(可声明多个别名),将它当作数据类型使用。


结构体的定义是由一系列具有相同类型或者不同类型的数据构成的数据集合,每一个变量都会被分配相应的内存。


联合体与结构体的区别在于,所有成员变量共享一个内存空间,被分配的内存就是最大的变量所占的内存。


枚举,声明:enum 枚举类型名 {变量值列表};   

枚举元素按常量处理,不能赋值,并且有默认值(也可以在声明时另行定义)。

这里插入 宏定义,借用前辈说法:“宏定义可以理解为简单的替换。”枚举与宏定义类似,不能赋值。(eg:# define PI 3.14159)

既然这样再提一下const,用来区分常量与变量,用法eg:const double PI=3.14159;


类类型,这里指的是class所以是不包括struct和union的?.....嗯不知道该讲什么。




最后再借用一下前辈的话:变量是由两部分组成,变量名和变量类型,定义一个变量实际上是将内存上的一个块映射为了一个变量名,通过&符号可以获得这块内存的地址(的开头)。总结下来,变量在定义时就与一块内存建立了映射关系,变量名代表了内存的首地址,所以数据类型就是限制结尾的。

现学现卖,理解浅显,若有错误欢迎指正。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值