c++高级---C++主要数据类型在计算机中所占字节大小

59、深入理解C++编程:从基础到高级 本文从基础到高级逐步深入介绍了C++编程的核心概念和技术细节,包括数据类型、控制结构、函数、数组等基础知识,以及面向对象编程(类、继承、多态)、运算符重载、模板和异常处理等高级特性。通过实战案例展示了这些特性的实际应用,帮助读者更好地理解和掌握C++编程。 阅读详情

转自:http://www.cnblogs.com/Romi/archive/2012/01/09/2317059.html

遇到了数据存储的大端和小端问题,这你妹的看的一头雾水,发现我基本知识严重匮乏啊,先了解C++各数据类型在自己机子上占多少字节吧,以及这些数据类型所占字节大小与神马有关。各种查资料然后写代码检验,小结于本文中,给自己补补基础知识。

先来列一下C++的数据类型:

整型:int,long。这两个还分signed(有符号)和unsigned(无符号)的,当然有符号和无符号所占字节大小是一样的,就不管他了。

布尔型:bool        

字符型:char,wchar_t

浮点型:float,double

这只能上代码验证了,貌似机子不同数据类型所占大小也不同,太威武了,我就检查下我这个32位windows系统电脑吧。我用的IDE是Code::Blocks,发现挺好用的,主要是工程文件小,不像vs2010建个工程就大得很,哥这小硬盘吃不消啊(题外话)。

先看整型的吧,代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
    int a;
    long b;
    int Byteof_int= sizeof (a);
    int Byteof_long= sizeof (b);
    cout << "int:" <<Byteof_int<<endl;
    cout << "long:" <<Byteof_long<<endl;
    return 0;
}

结果显示:

int:4

long:4

int和long都是占4个字节(即32位)。

其他数据类型验证吧上面代码数据类型替换下就是了,得出下面的结果:

bool:1

char:1

wchar_t:2

float:4

double:8

特别要注意的时,对于指针类型,都占4个字节,因为指针指向的是一个地址,32位操作系统就是4字节。当然如果是64位操作系统那就是8字节了。

此外,int这个类型占操作系统一个内存单元大小。早先16位操作系统一个内存单元是64位,所以是2个字节;32位系统一个内存单元是是32位,所以是4字节;64位操作系统一个内存单元是16位,故占8个字节。

因为用到MFC编程,mfc里还有很多数据类型啊,看看吧(这只是一部分,还有很多用typedef和宏定义的类型)。

BOOL:int型,Boolean值(TRUE or FALSE)

BSTR:32-bit字符指针

BYTE:8-bit整数,无正负号

COLORREF:32-bit数值,代表一个颜色值

DWORD:32-bit整数,无正负号

LONG:32-bit整数,有正负号

LPARAM:32-bit数值,作为窗口函数或callback函数的一个参数

LPCSTR:32-bit指针,指向一个常数字符串

LPSTR:32-bit指针,指向一个字符串

LPCTSTR:32-bit指针,指向一个常数字符串。此字符串可移植到Unicode

LPTSTR:32-bit指针,指向一个字符串。此字符串可移植到Unicode

LPVOID:32-bit指针,指向一个未指定类型的数据

LPRESULT:32-bit数值,作为窗口函数或callback函数的返回值

UINT:Win16中,16-bit无正负号,Win32中,32-bit无正负号

WNDPROC:32-bit

WORD:16-bit整数,无正负号

WPARAM:窗口函数的一个参数,Win16中16bits,Win32中32bits

 

【AI 编程工具进阶用法】如何在Cursor、Trae等工具中使用Skills OpenSkills是一个开源项目,用于在Cursor、Trae等AI编程工具中添加可复用、可组合的"能力模块"。安装流程包括:1)全局安装OpenSkills CLI工具;2)选择安装Anthropic官方Skills到项目或全局;3)创建AGENTS.md文件同步Skills;4)在AI工具中调用Skills。此外还介绍了UI/UX Pro Max Skill项目,通过npm安装后可为AI添加设计能力。这些Skills相当于为AI工具安装"高级技能包" 阅读详情

相关推荐

2022-2028年中国美容仪行业发展战略规划及投资机会预测报告

报告类型:产业研究 报告格式:电子版、纸介版 出品单位:智研咨询-产业信息网 美容仪是一种根据人体生理机能进行调节改善身体和面部的机器,它按照功能来说有美白、嫩肤、祛斑、祛皱、脱毛、减肥等多种,按照名称来说有超声波导入、光子嫩肤、高周波电疗、RF 电波拉皮、电子祛斑点痣、E 光永久脱毛嫩肤、贾法尼营养导入导出等。 智研咨询发布的《2022-2028年中国美容仪行业发展战略规划及投资机会预测报告》共十七章。首先介绍了中国美容仪行业市场发展环境、美容仪整体运行态势等,接着分析了中...

kt346的博客 468

在JAVA中一共有八种基本数据类型。

在JAVA中一共有八种基本数据类型。 他们分别是byte、short、int、long、float、double、char、boolean 整型 其中byte、short、int、long都是表示整数的,只不过他们的取值范围不一样 byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1) short的取值范围为-32768~32767,占用2个字节(-2...

世范水晶 1164

海上AI导航系统:技术架构与行业应用解析

计算机视觉与强化学习技术在海上导航系统中的应用正逐步改变传统航运业。通过多模态传感器融合技术,现代AI导航系统能够实现高精度的物体识别与实时路径规划,有效解决能见度依赖、决策延迟等核心痛点。以Orca AI的SeaPod系统为例,其结合了NVIDIA GeForce RTX 4070的边缘计算能力与多光谱协同识别技术,在恶劣环境下仍能保持稳定性能。这类系统不仅提升了航行安全性,还通过优化航线显著降低燃油消耗,在东京湾、马六甲海峡等繁忙水域展现出巨大价值。随着毫米波雷达融合方案的测试推进,未来海上导航将突破极

weixin_33597080的博客 354

计算机中的数据表示

”如何通过计算机表示数据“:基本的数据类型、数据结构,数据宽度与表示,数字编码、字符编码,不同架构和场景中的字节序

JUST FOR FUN, CALM DOWN 1093

livox avia平台搭建

livox雷达数据采集平台搭建

Shilong的博客 1308

碎碎念android eMMC【转】

本文转载自:https://blog.youkuaiyun.com/Fybon/article/details/44242549 一、/dev/blockroot@:/dev/block #lsbootdevicemmcblk0mmcblk0p1mmcblk0p10…….mmcblk0p18mmcblk0p19mmcblk0p2mmcblk0p20……mmcblk0p29mmcblk0p3mmcblk0p3...

zzb2760715357的博客 376

C++中的数据类型及其所占字节

1.整型。 包括: short(短整型),占2个字节; int(整型),占4个字节; long(长整型),占4个字节; long long(长长整型),占8字节; 整型用来表示一个整数。 2.实型,即浮点型。 包括: float(单精度浮点型),占4个字节; double(双精度浮点型),占8个字节; long double(长精度浮点类型),占8字节; 实型用来表示实数,相对于整型。 3.字符型,即char型。 char(字符型),占1字节; 用来表示各种字符,与ASCII码表一一对应。 4.bool类型

NuYoaH502329的博客 1万+

SAP 系统中的数字签名解决方案及应用案例分析

在当前企业信息化及数字化转型的大背景下,数据安全与身份认证显得尤为重要。数字签名技术作为保障数据真实性和完整性的重要手段,在 SAP 系统中得到了广泛应用。本文将详细探讨 SAP 系统中部分应用场景如何利用数字签名技术满足业务需求,涵盖 SAP Single Sign-On、质量管理、过程工业生产计划以及 SAP ArchiveLink 内容服务器等方面,力求通过深入解读,帮助读者更好地理解和应用这一关键技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 526

c++不同数据类型的大小

C++是一种静态类型的编程语言,意味着在编写代码时必须显式地声明每个变量的数据类型。C++提供了各种基本数据类型,以及一些复合数据类型,如数组、结构体、枚举和类等。C++提供了各种基本数据类型,以及一些复合数据类型,如数组、结构体、枚举和类等。

qq_27390023的博客 1684

Cadence PCB 仿真宝典【目录】

欢迎大家来到《Cadence PCB 仿真宝典》该专栏包括【入门篇】【提升篇】【技巧篇】【疑难篇】四个部分,以供大家参考。大家直接点击大纲中的蓝色标题即可轻松传送。

fydar的博客 3267

【OpenClaw从入门到精通】第41篇:2026年4月最新版——从零开始搭建你的第一个安全AI助理(保姆级实战教程)

2026年3月CNCERT联合发布《OpenClaw安全使用实践指南》后,安全部署成为OpenClaw使用的核心前提。本文针对新手及进阶用户,基于官方安全指引,提供三套实战部署方案:阿里云一键部署(新手首选)、Docker容器隔离部署(进阶推荐)、本地安全安装(测试专用),并详解阿里云百炼Coding Plan API接入流程。全文涵盖环境准备、分步实操、安全加固、问题排查等全流程,所有命令可直接复制执行,无需依赖外部代码库。通过本文,读者可零基础搭建安全隔离的OpenClaw AI助理,兼顾实用性与安全性

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2196

数据类型的大小范围及强制性转换 C语言

本文介绍了计算机存储容量的基本单位(bit到PB)及其换算关系,详细说明了C语言中sizeof关键字用于计算数据类型内存大小的用法,并展示了常见数据类型的字节长度。文章还解释了有符号和无符号整型的取值范围计算方法,特别说明了补码表示中负数范围的原理。此外,简要介绍了全局变量和局部变量的作用域及生命周期差异,最后提及了强制类型转换的注意事项。这些内容为理解计算机数据存储和处理提供了基础知识框架。

daiziyi2008的博客 202

caverdock如何使用,一文给你多方案教学!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1384

大端与小端概念、多字节之间与单字节多部分的大小端转换详解

本文主要介绍三个内容:1. 大端与小端概念 2. 多字节之间的大小端转换 3. 单字节多部分的大小端

清风 6736

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

int **a[3][4]占多少字节?

首先要说明的int**a[3][4]的意思是定义一组指向指针变量的二维指针数组,也就是说,定义了一个3行4列的指针数组,每个指针都指向一个指针,从存储结构上来说,就是一个存储了12个指针变量的数组,问题就在于搂主所说的“a占多少字节数?”这里的a指的到底是什么,a本身实际含义是一个地址,表示a[3][4]这个数组的首地址,就a作为一个个地址来说,它占用4个字节;同时a也是a[3][4]这个数组一...

weixin_30836759的博客 3309

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

C++语言的数据类型

用户定义类型是C++中最强大和灵活的特性之一,允许程序员创建复杂的数据结构。C++语言中数据类型的多样性使得程序员可以根据需求选择合适的类型进行编程。基本数据类型提供了简单直接的方式来处理数据,而派生数据类型和用户自定义类型则为复杂数据结构的表达和封装提供了基础。掌握C++数据类型,使得编程更加高效,可以更好地进行复杂问题的建模和解决。因此,在学习和使用C++的过程中,理解和合理使用数据类型至关重要。

2501_90300469的博客 957

c++数据类型

科学计数法是一种很长数字的有限简写,了解科学计数法帮助你了解浮点数工作原理,以及科学计数法的界限。科学记数法中的数字采用以下形式:有效数 x 10exponent。例如,在科学记数法中1.2 x 10⁴1.2是有效数,4是指数。由于 10⁴ 的计算结果为 10,000,因此 1.2 x 10⁴ 的计算结果为 12,000。科学记数法还有一个额外的好处,即只需比较指数,就可以更轻松地比较两个非常大或非常小的数字的大小。

every place is the center of the universe 669

C++结构体大小与成员初始化的深度剖析

数据类型的大小和对齐方式函数调用约定虚函数表的布局异常处理机制等等在我们的问题中,最关键的是Itanium C++ ABI中关于类型布局的规则。

weixin_61470881的博客 2104

各种语言数据类型大小

C语言 short,long 用于限定整数类型,如:short int n;long int m;在此类变量声明中,int可以省略:short n ;long m;引入这两个限定符的目的是为了提供不同长度的整数。在不同的软硬件环境下,int,short,long的长度可能不一样,但可以确定的...

chuifuhuo6864的博客 106

1016:整型数据类型存储空间大小

时间限制: 1000 ms 内存限制: 65536 KB 提交数: 8462 通过数: 6138 【题目描述】 分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。 【输入】 (无) 【输出】 一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。 【输入样例】 (无) 【输出样例】 (...

ice___snow的博客 3859

深入理解数据类型

1. 前言 有很多人会说,数据类型不是在高级语言编程中都会讲的吗,C,C++,C#,JAVA等都讲的很清楚,为什么还要提出来说呢?其实我想说,在几乎所有的高级语言编程书籍中,都将数据类型的讲解与底层割裂开来,对数据的大小端只字不提(C++之父写的书讲到了大小端),对浮点数的编码也没有讲清楚,什么是网络字节序和字节对齐更没有讲解,那些数据类型需要考虑网络字节序,那些不需要,有符号数和无符号数到底有什么区别?其实,所有定义的数据类型,都是基于底层而来,所以有必要从底层来分析理解数据类型,以下结合....

ComputerInBook的专栏 1814

C/C++知识总结 三 C/C++数据类型与输入输出

C/C++数据类型与输入输出 基本数据类型 输入与输出 复合数据类型(将在下几篇博客中总结) C/C++数据类型 数据类型总图 数据类型差别 数据类型不同的意义 1)指明数据的大小,以便正确分配,访问,回收内存。 2)对本质上不可区分的内存数据进行不同的操作。 注意:不同的编译器可能对数据类型分配的字节书可能不同,但这是常见的字节分配 补充字节数:字节(Byte )是计算机信息...

做一只熊猫不好吗? 962

第三章 C++ 数据类型和变量

早期的计算机都是用来进行数学计算的,我们将要计算的数据输入计算机,计算机经过复杂的运算后返回给我们结果!现在的计算机不仅可以进行数值计算,又可以进行逻辑计算,还具有存储功能。我们可以将数据存储到硬盘中,需要计算的时候,将数据从硬盘中读取到内存,再将内存中数据传输给中央处理器(CPU),处理器计算结果后返回给我们。那么,数据是如何在硬盘或内存中存储呢?所有的计算机语言都要对数据进行处理,这些数据都需要存储。数据类型就代表着数据的格式以及存储空间大小,这是所有语言都具备的共性。 计算机内部底层是由二进制0和1

konkon2012的博客 1011

c语言unsigned short占几个字节_第三章 C语言关键字

了解C语言的关键字有哪些;一、C语言的标准关键字标准C语言共有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。32个关键字二、每个关键字的具体用途:auto :声明自动变量break:跳出当前循环case:开关语句分支char :声明字符型变量或函数返回值类型const :声明只读变量continue:结束当前循环,开始下一轮循环de...

weixin_39524636的博客 4488

C++复习6.C/C++高级数据类型

C/C++高级数据类型 1.C语言支持把基本数据类型组合起来形成更加强大的构造数据类型,就是C语言的struct(UDT, User Defined Type). Struct 和class : 在C++中对C语言的struct进行类改造,使其也可以像C++中的struct那样支持成员函数的声明和定义,从而使struct成为了ADT( Abstract Data Type)....

weixin_34149796的博客 91

C++概念题

1-12 第一章 13-25 第二章 26-31 第三章 32-40 第四章 41-48 第五章 49-

weixin_45965693的博客 793

C++对象内存布局与字节对齐:从原理到实战优化

在C++程序设计中,理解数据在内存中的组织方式是深入系统编程和性能优化的基础。这涉及到数据语义学与内存布局的核心概念。其原理源于计算机体系结构对内存访问效率的要求,CPU通常以固定大小的块(如4或8字节)读取数据,因此要求数据的地址满足特定的对齐规则。这一机制的技术价值在于,通过减少内存访问次数,可以显著提升程序性能,尤其是在处理大量数据或进行高频计算时。在实际应用场景中,无论是进行网络数据传输、二进制文件解析,还是设计高效的数据结构,都需要精确控制内存布局以避免数据错乱和性能损失。本文聚焦于C++对象模型

weixin_29913663的博客 321
上一篇: c++高级---关于C++指针大小和Void*使用的总结
下一篇: 收集的手写源码-wpf
HNFXS985
博客等级 码龄14年 219粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值