C++基本数据类型和内存映像(1)
来源:互联网 发布:ai软件工具栏不见了 编辑:程序博客网 时间:2024/06/09 18:18
什么是数据类型?
数据类型是用来定义变量的值的类型,每种数据类型对应特定的字节数。例如在32位操作系统上,int
类型的变量就占用4个字节的内存单元,而double
类型占用8个字节的内存单元。
字节是什么?
字节是内存编址的最小单位,因为语言必须支持对一个单元(基本数据类型或混合数据类型的变量或对象)进行地址运算,而这个地址必须是有效的内存单元地址,所以最小对象(包括空对象)都会占用一个字节的内存空间。
标准C++的数据类型
标准C语言支持基本(内建)数据模型有int
、long
、float
、double
、char
、void
及和signed
、unsigned
、*
、&
的组合。标准C++增加了bool
类型,同时还增加了两个内置的符号常量true
和false
(关键字)。 void
是“空类型”(无值型),意思是这种类型的大小无法确定。显然不存在void
类型的对象,所以也就不能声明void
类型的对象或使用sizeof()
运算符计算void
类型占用的内存空间。这是因为C++不能对一个未知大小的对象直接操作。void
通常用于定义函数的返回值、参数列表(无参)或者void
指针,void
指针可以用作通用指针,因为它可以指向任意类型的对象。
注意:虽然bool类型的变量只存在两种可能的值:true
和false
,按理说只需要一个bit就可以表示了。但是字节是内存编址的最小单位,而从计算机内存中提取一个变量的值是通过其地址进行的,所以bool
变量也占用了1字节内存,即sizeof(bool)
等于1,浪费了7bit。
标准C语言中没有bool
类型,但是某些实现通过库提供了其映射,并且定义了相应的常量,例如:
typedef int BOOL#define TRUE 1#define FALSE 0
在标准C中,int
为默认类型,也就是说如果你不明确指定函数的形参类型或函数的返回值类型,则他们的类型为int
,而标准C++不支持默认类型,但是模板中有“默认参数类型概念”。
注意:无论是C程序还是C++程序我们都不要使用默认数据类型,一定要指出函数每一个形参的类型和返回值类型。
- C++基本数据类型和内存映像(1)
- C语言(基本数据类型和可移植性数据类型)
- linux c的内存映像
- 计算机程序中数据类型的内存映像
- C基础知识和基本数据类型
- 进程(1)进程的内存映像
- 浅谈C,C++语言的基本数据类型的内存分配和指针的内存分配
- Java值传递(基本数据类型和引用数据类型)和虚拟机内存作用
- Java中的基本数据类型和引用数据类型的内存模型
- java中的基本数据类型和引用数据类型内存中的位置
- C语言--基本数据类型1
- C++(2)基本数据类型
- c 基础数据类型和基本表达式
- objective-c基本数据类型和限定词
- c语言基本数据类型和输入输出函数
- 基本数据类型内存模式
- 创建和读取内存映像文件
- c语言-数据类型-基本数据类型
- win7下面怎么安装Active Directory
- 欢迎使用CSDN-markdown编辑器
- 当idea中properties配置文件中文显示utf8编码时
- Chromium Embedded Framework 3
- iOS实时发版,动态库方式 不上App Store可以使用啊
- C++基本数据类型和内存映像(1)
- 【剑指offer系列】 二维数组中的查找___3
- C# 微软开源专区
- 利用Qemu Guest Agent (Qemu-ga) 实现 Openstack 监控平台
- Web前端框架与类库的思考
- 实现runnable接口创建多现场
- SQL注入
- [翻译]MySQL5.0用户手册——第三章:快速入门
- Mina、Netty、Twisted一起学(十):线程模型