C/C++——基本数据类型的大小并且sizeof(int *) = 8

C++中常见数据类型的sizeof值,以及计算struct和union的详细方法 #include #include #include /*sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。*/ using namespace std; //1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; //2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(inter 阅读详情
#include <iostream>
using namespace std;

int main()
{
    cout << "sizeof(bool) = " << sizeof(bool) << endl;
    cout << "sizeof(char) = " << sizeof(char) << endl;
    cout << "sizeof(int) = " << sizeof(int) << endl;
    cout << "sizeof(float) = " << sizeof(float) << endl;
    cout << "sizeof(double) = " << sizeof(double) << endl;
    cout << "sizeof(long double) = " << sizeof(long double) << endl;

    enum e{a, b=3};

    cout << "sizeof(enum) = " << sizeof(e) << endl;
    cout << "sizeof(int *) = " << sizeof(int *) << endl;
    cout << "sizeof(char *) = " << sizeof(char *) << endl;


    return 0;
}


运行结果:

sizeof(bool) = 1
sizeof(char) = 1
sizeof(int) = 4
sizeof(float) = 4
sizeof(double) = 8
sizeof(long double) = 16
sizeof(enum) = 4
sizeof(int *) = 8
sizeof(char *) = 8

主要是在ubuntu64位下面sizeof(int *) 和 sizeof(char *)是8字节,也就是地址是64位。

解释是:在32位编译器上sizeof(指针)是4字节。在64位编译器上sizeof(指针)是8字节。32位地址最大寻址为4G=2^32,64位最大寻址为128T=2^64。




C/C++中基本数据类型在不同系统中所占空间大小 关于这个基本的问题,很早以前就很清楚了,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。 所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): siz 阅读详情

相关推荐

C/C++数据类型存储空间大小:sizeof原理与跨平台差异详解

数据类型存储空间大小是编程语言中的基础概念,直接影响内存占用、程序性能与跨平台兼容性。在C/C++中,sizeof运算符用于获取类型字节数,但int、long等类型的大小并非标准硬性规定,而是受平台与编译器影响,导致代码在不同系统间可能出现数据错位。结构体的内存对齐机制更让实际占用空间与成员大小之和不同。相比之下,Java通过固定字节数定义了8种基本数据类型,Python的int支持动态扩容,而MySQL的整数类型也按声明分配固定空间。理解这些差异有助于开发者写出更稳健的底层代码。以信息学奥赛题1018为经

weixin_33326218的博客 225

sizeof(int *) 和 sizeof(int)型的大小问题

小问题,暂时记录注意一下   printf("sizeof(int): %d\n", (int)sizeof(int)); printf("sizeof(int *): %d\n", (int)sizeof(int *)); 转载于:https://www.cnblogs.com/yimuren/p/5574187.html...

weixin_30732487的博客 3200

C/C++的数据类型大小和长度

在C/C++编程中,了解数据类型的大小和长度是非常重要的,因为它们直接影响着内存的使用和程序的性能。在本文中,我将详细介绍C/C++常见数据类型的大小和长度,并提供相关的源代码示例。在C/C++中,结构体允许我们将多个不同类型的数据组合在一起形成一个自定义的数据类型。结构体的大小取决于其成员变量的大小和对齐方式。C/C++提供了几种基本的数据类型,包括整数类型、浮点类型和字符类型。数组的大小取决于元素类型的大小和数组的长度。运行上述代码,你将得到每个数据类型的大小(以字节为单位)的输出结果。

2301_79365003的博客 2018

sizeof(int*) c++ 各类指针占多少字节

指针只与平台位数(Win32,Win64)有关,和类型无关(int,float,double) Win32 所有的指针占4字节: #include <iostream> int main() { int* a; float*b; double* c; std::cout << "int:"<<sizeof(a); std::cout <&lt...

shenmingyi.blog.youkuaiyun.com 6879

光模块基础知识【快速入门】02

光模块是用于交换机与设备之间传输的载体,是光纤通信系统中的核心器件。主要作用是发射端将设备的电信号转换成光信号。 光纤通道光模块和以太网光模块 光纤通道光模块 光纤通道(FC, Fiber Channel)是一种高速网络数据传输协议。光纤通道协议可以有序无损地传输原始数据,它主要用于在数据中心、电脑服务器、交换机与存储网络中进行数据传输。 FC光模块遵循FC协议,充当着光纤通道系统之间的接口,也是光纤存储网络设备间的接口。它们主要用于数据中心的光纤通道存储网络链接中。 FC光模块具有小型化和低.

Jin Hanquan的博客 3万+

neruolib全脑建模计算框架

neurolib 是一个用python编写的全脑建模计算框架,也是可扩展的、允许轻松实现自定义神经质量模型,能够在介观尺度上表示脑区平均活动。

Rootfyx的博客 1146

C/C++ 深入理解计算机各种类型大小(sizeof)

// Example of the sizeof keyword    size_t  i = sizeof( int );

非常道的博客 1016

多目标优化NSGA-II(快速精英非支配排序遗传算法)及python实现

文章目录前言一、什么是NSGA-II?二、学习NSGA-II1.快速非支配排序算法2.密度估计3.拥挤比较算子4.主循环5.代码6.总结 前言 NSGA-II适用于复杂的多目标优化问题,是K-Deb教授在2000年在一篇paper《MOEAs — A fast and elitist multi-objective genetic algorithm: nsga2》提出。 Keywords: optimization; multi-objective evolutionary algorithm; no

ricky_blog 9744

C 语言 sizeof 关键字详解

C 语言 sizeof 关键字详解

嘻嘻爱编码的博客 6801

基于rms包的限制性立方样条回归(RCS)R代码实现

RCS

2301_79584199的博客 2万+

解读文献(五)------基于阻抗控制

文章目录背景主动柔顺控制阻抗控制基于力的阻抗控制基于位置的阻抗控制力位混合控制 背景 主动柔顺控制 阻抗控制 基于力的阻抗控制 基于位置的阻抗控制 力位混合控制 ...

accumulation 1万+

【C/C++】基本数据类型的字节大小和数值范围

【C/C++】基本数据类型的字节大小和数值范围 文章目录【C/C++】基本数据类型的字节大小和数值范围一、int型字长问题二、关于不同系统中基本数据类型所占空间大小问题三、常见基本数据类型的字节大小四、常见基本数据类型的数值范围4.1 无符号整型4.2 有符号整型4.3 浮点类型4.4 无符号整型的极限值符号4.5 有符号整型的极限值符号4.6 浮点类型的极限值符号 一、int型字长问题   ① C/C++规定int字长和机器字长相同;   ② 操作系统字长和机器字长未必一致;   ③ 编译器根据操作系

Sunnyside_ 1925

(一)PyBullet机器人仿真入门:从环境搭建到实例解析

本文详细介绍了PyBullet机器人仿真平台从零开始的完整入门指南。内容涵盖环境搭建、官方示例解析、核心操作(连接、世界与模型)、关节控制与状态读取,以及碰撞检测、传感器模拟等高级功能,帮助读者快速掌握这一强大的机器人仿真工具。

weixin_29062865的博客 1364

C/C++ sizeof(上)

以下代码使用平台是Windows7 64bits+VS2017+Win32。

Doublelv 的博客专栏。 2619

电子元件及其规格书的查找与理解

本内容收录:在电子开发或维修过程中,查找电子元件及其规格书心得体会,以及元件规格书的理解,系个人多年实战经验的系统梳理。内容着重介绍贴片元件代码反查型号的实用技巧,并以三款典型疑难元件为例,详述其完整查找过程与最终型号确认。

让你爱上电路设计 3985

VTK-9.5.0 1D2D3DWidget实现灰度图+深度图+3D点云显示(可轻松集成到自己的项目)

VTK1D2D3DWidget是一个基于Qt和VTK开发的3D点云可视化工具,支持RGB和深度点云数据的显示与处理。主要功能包括点云加载、可视化、保存为PLY格式文件,以及背景颜色、点间隔、坐标轴显示等参数的自定义设置。该工具采用模块化设计,核心组件包括主窗口管理类、VTK渲染组件和自定义鼠标交互样式,依赖Qt5+和VTK9.5.0库实现跨平台支持。项目提供完整的源码和构建指南,适用于点云数据的快速展示与分析。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 385

c语言中各类型的大小范围,C和C++中的基本数据类型的大小及表示范围详解

本文研究的主要问题时关于C和C++中的基本数据类型int、long、long long、float、double、char、string的大小及表示范围,具体介绍如下。一、基本类型的大小及范围的总结(以下所讲都是默认在32位操作系统下):字节:byte;位:bit。1.短整型short:所占内存大小:2byte=16bit;所能表示范围:-32768~32767;(即-2^15~2^15-1)2....

weixin_29250573的博客 5529

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C++中使用sizeof查看几种数据类型所占内存字节大小

C++学习第一天sizeof整形类型浮点字符型sizeof其它用处 sizeof 在vs 2017环境中使用sizeof了解各个数据类型的大小 整形类型 short、int、long、long long #include <iostream> using namespace std; int main() { cout << "short 类型所占内存空间为: " << sizeof(short) << endl; cout << "int

weixin_44328414的博客 8758

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C和C++中的基本数据类型的大小及表示范围详解

本文研究的主要问题时关于C和C++中的基本数据类型int、long、long long、float、double、char、string的大小及表示范围,具体介绍如下。 一、基本类型的大小及范围的总结(以下所讲都是默认在32位操作系统下): 字节:byte;位:bit。 1.短整型short:所占内存大小:2byte=16bit; 所能表示范围:-32768~32767;(即-2^15~2...

疾风剑豪 2076

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C/C++ 彻底解决结构体的sizeof问题

原文地址:C/C++ 彻底解决结构体的sizeof问题 引言 相信在大多数人开始学习编程时,老师都会谈到各种数据类型的size问题。比如说一个int类型的变量大小是4byte,一个char类型的变量是1byte。这些问题都很好解决,但是当谈到一个结构体的大小时,答案往往就不那么肯定了。这个问题我困惑了很久,查找了不少资料后终于有所体会。现在特意记录下来,谈一谈计算机中各种数据类型的size到底是...

piglite的专栏 1331

c char转int_c/c++基础之sizeof用法

在 C/C++ 中,sizeof() 是一个判断数据类型或者表达式长度的运算符。1 sizeof 定义 sizeof 是 C/C++ 中的一个操作符(operator),返回一个对象或者类型所占的内存字节数。 The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(...

weixin_39620943的博客 405

[C/C++] 基本数据类型

C/C++数据类型有多种,包括自定义数据类型(自己写的类),各种数组,vector,string等数据类型,都是数据类型,所谓数据类型是个宽泛的概念,从类和对象的思想讲,每一种数据类型都是“对象”,本篇文章则主要介绍那些最微小、最基本的数据类型,也即那些用C++关键字来声明和定义的数据类型,其他的一些数据类型,是可以由这里的基本内置数据类型来构成的。这里介绍的这些数据类型,都是使数据以独立、分立的形式存在的。刚才提到的数组、vector等,也是数据类型,但属于是将多个独立、分离的数据组织。

WenBayBay的博客 757

C/C++中(int)(*(((char*)&a+1)))作用解析

今天做老师布置的作业Take Assessment: Exercise 1: Decoding Lab(实验分析)时,遇见一串代码: int dummy = 1; //...省略若干代码段 start = (int)(*(((char*)&dummy))); stride = (int)(*(((char*)&dummy) + 1)); 而start值为1,stride值为0。 被(int)(*(((char*)&dummy)))这一大串搞迷糊了,网上查解释也没理解。 大概

weixin_44806147的博客 1255

c char转int_C/C++基础之sizeof使用

在 C/C++ 中,sizeof() 是一个判断数据类型或者表达式长度的运算符。1 sizeof 定义sizeof 是 C/C++ 中的一个操作符(operator),返回一个对象或者类型所占的内存字节数。The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(in...

weixin_39759107的博客 120

C/C++中基本数据类型在32位/64位系统下的大小

在C/C++开发中,尤其是在跨平台(如32位与64位系统)项目中,我们经常会遇到一些‘诡异’的问题:为什么这段代码在32位系统上运行正常,到64位就崩溃了?其中一个最常见的根源就是对数据类型的大小理解不透彻。今天,我们就来彻底弄清楚int、long、指针等类型在不同系统架构下究竟占多少字节。

楚Y6的博客 918

c/C++计算int / int *数组的长度;sizeof(指针),sizeof(数组名)的区别

1.计算int *数组长度: int arrayVlenth(float *p) { int len = 0; while (*p) { p++; len++; } return len; }   sizeof(指针),sizeof(数组名)的区别: 例子: #include&...

weixin_34161032的博客 3327
上一篇: 服务器编程——高性能服务器程序框架
下一篇: C/C++——求下面数据类型的最大值和最小值: char, short, int, long, float, double, long double和numeric_limits使用
readyao
博客等级 码龄11年 243粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值