代码阅读题-结构体大小

news/2024/5/17 19:30:00/文章来源:https://www.cnblogs.com/yaocy/p/16715448.html

题目如下,小米23秋招-9.20-笔试

首先这是一道C++的题,注意到的第一点是这个二维数组的初始化方式,他是给了一种一维数组的赋值方式,虽然没见过,但是想当然应该是逐层填充

经测试确实似乎这样的,而且给的初始值过多会报错,给少了打印默认值0

	int nums[3][5] = { 1,2,3,4,5,6,7,8,9,10,11,12,13};for (int i = 0; i < 3; i++) {for (int j = 0; j < 5; j++) {cout << nums[i][j];}cout << endl;}

另外一点后来才注意到的是,我一直记得char是两个字节,但是其实C++中char只有1个字节

Java 采用UTF-16字符集
C++ 逛了一圈也不是很清楚,应该是ASCII

结构体大小的计算

首先,C++中空类/空结构体大小为1,并且当类/结构体不空的时候,这个1就不存在了

是为了使其有不同的内存地址,详见
C++指针32位系统中大小为4,63位大小为8

然后是结构体大小的计算,直接算是:三个char=3字节,加上4字节大小的int,所以应该是7字节
事实上是12字节!!
怎么计算的呢?

字节对齐原则

结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节

结构体中最大的int占四字节,所以每次申请都是4

  1. 申请一个4,两个char占了2
  2. 剩下2字节不够int,占位填充
  3. 再申请一个4,正好够int
  4. 再申请一个4,放最后一个char,剩下的3占位填充
    一共12

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_11399.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入淺出 Spring Boot 多重設定檔管裡 (Spring Profiles)

在任何一套開發框架中&#xff0c; 多環境管裡 通常是重要的核心功能之一&#xff0c;當然在 Spring 框架中也不例外&#xff0c;這裡我們稱為 Spring Profiles 設定檔。這個功能說起來簡單&#xff0c;但實作起來卻很容易會不小心亂掉&#xff0c;這篇文章我打算來好好的梳理一…

AUTOSAR基础篇之StbM

AUTOSAR基础篇之StbM前言 首先&#xff0c;请问大家几个小小问题&#xff0c;你清楚&#xff1a; 基于AUTOSAR的应用层如何获取准确的时间戳吗&#xff1f;时间同步的具体过程包含哪些细节呢&#xff1f;如何正确的获取到全局时间戳呢&#xff1f; 今天&#xff0c;我们来一…

(Java数据结构)链表题

文章目录环形链表判断链表中是否有环找到链表开始入环的第一个节点链表分割环形链表 判断链表中是否有环 leetcode 141. 环形链表类似追及相遇问题&#xff0c;定义快慢指针&#xff0c;如果没有环&#xff0c;快指针会走到null&#xff1b;如果有环&#xff0c;快慢指针肯定…

QT5.15使用VISA接口连接GPIB设备和USB设备

本文是之前再外网找到的解决方法&#xff0c;本着分享目的共享出来。 1. 首先安装NI-VISA环境包&#xff1a;点击下载 如果使用GPIB还需要安装GPIB的环境包&#xff1a;点击下载&#xff08;这个忘记了&#xff0c;似乎不安装也行&#xff09; 2. 安装完成后&#xff0c;检查目…

Cent OS安装中文字体

文章目录前期准备拷贝字体拷贝Mac电脑的字体拷贝Windows的字体Centos上生成字体前期准备 添加字体需要先安装&#xff1a; sudo yum install -y fontconfig mkfontscale首先确认支持的字体&#xff1a; fc-list # 全部字体 fc-list :langzh-cn # 支持中文的字体然后开始添加…

SpringSecurity+JWT认证流程分析

对Spring SecurityJWT认证&#xff0c;对整体运行流程分析。 第一步先简单了解JWT是什么&#xff0c;生成规则。由于我们是JWT的认证模式&#xff0c;需要一个操作Token的工具类&#xff0c;能够创建token、验证token、反解析token中的信息。 WebSecurityConfigurer 1.引入S…

类——C++

C是面向过程的编程语言&#xff0c;重在过程&#xff0c;比如进行栈的操作&#xff0c;需要建立一个栈&#xff0c;初始化&#xff0c;push数据&#xff0c;pop数据&#xff0c;销毁栈等操作&#xff0c;这就是过程 C是面向对象的编程语言&#xff0c;重在处理对象与对象之间的…

vue打包项目版本号自加

原因 项目每次打包后都需要改动项目版本号,这个改动每次都需要在package.json中修改version,比较麻烦,到底有没有一种打包后版本号自加的办法。 方案 版本号自加其实可以使用fs修改文件来实现的。 具体思路是:在执行打包命令npm run build时,同时执行一段js代码,该代码通…

第六章 logstash学习(二)

一、ELK搭建 1.ES搭建 2.logstash搭建 1)安装java环境 2)安装logstash 3)配置环境变量 4)logstash的插件 INPUT:插件使Logstash能够读取特定的事件源。 OUTPUT:插件将事件数据发送到特定的目的地,OUTPUT是事件流水线中的最后阶段。INPUT支持事件源 OUTPUT支持输出源 COD…

【概率论与数理统计】【线性代数】计算机保研复习

我他妈写一上午了直接没了&#xff0c;这狗csdn&#xff0c;别在已发布的文章上改&#xff0c;辣鸡玩意儿。 复习概率论与数理统计1.基础2.贝叶斯公式3.大数定律&#xff08;Law of the large numbers&#xff09;4.中心极限定理5.最大似然估计6. 期望、方差和协方差面试题线性…

软件设计师2014上午题基础知识(易错整理)

软件设计师2014上午题基础知识&#xff08;易错整理&#xff09; 2014 上半年 木马程序的客户端运行在攻击者的机器上 海明码检验位计算&#xff1a;有效信息位 校验位个数 < 2^校验位个数 - 1 防火墙工作层次越低&#xff0c;工作效率越高&#xff0c;安全性越低 读音…

git 命令 简单介绍

爱无路&#xff0c;恨无情。相思无缘&#xff0c;相爱无份。曾相识&#xff0c;恨离别。无风雨&#xff0c;无同舟&#xff0c;何结果。情远天边&#xff0c;心无挂碍&#xff0c;唯爱你独一。 git简单介绍 三个区 工作区(working diretory) 用于修改文件 缓存区(stage) 是用…

zabbix的rpm包部署

1. 环境准备&#xff1a; 镜像版本虚拟机地址Rocky Linux release 8.6192.168.188.201 2. RockyLinux更换镜像源&#xff1a; [rootzabbix ~]# sed -i.bak \ -e s|^mirrorlist|#mirrorlist| \ -e s|^#baseurl|baseurl| \ -e s|dl.rockylinux.org/$contentdir|mirrors.nju.e…

计算机毕业设计之java+javaweb的新冠疫情下的校园出入系统

计算机毕业设计之javajavaweb的新冠疫情下的校园出入系统 项目介绍 随着信息化时代的到来,管理系统都趋向于智能化、系统化,新冠疫情下的校园出入系统也不例外,但目前国内的市场仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而…

内核中oops 错误解析以及问题定位

目录 一、oops输出解析 二、工具 1、objdump 2、gdb 3、addr2line 4、decodecode 5、faddr2line 文档最后有完整的oops输出文件&#xff0c;此处将输出分成多个小块进行分析。 一、oops输出解析 [ 2620.950912] oops_tryv1:try_oops_init():37: Lets Oops!Now …

vue里使用虚拟列表处理element-ui的el-select选择器组件数据量大时卡顿问题

问题 当我们使用el-select选择器下拉数据很大的时候&#xff0c;会出现页面卡顿&#xff0c;甚至卡死的情况&#xff0c;用户体验很不好。我目前采取的方案是使用虚拟列表的方式去处理这个问题。 实现效果 数据获取完毕&#xff1a; 点击输入框&#xff1a;我们可以看到 2 万…

高频读写头CK-FA521-2M应用与选型注意事项

CK-FA521-2M为高频读写头&#xff0c;工作频率为13.56Mhz&#xff0c;通过同轴线缆与读卡器相连。使用ABS&#xff0b;铝合金作为读写头的外壳&#xff0c;适用于潮湿、粉尘、油污等恶劣环境&#xff0c;防护等级高。读写头具有识别标签距离远&#xff0c;抗干扰能力强&#xf…

Android移动应用开发之界面跳转

文章目录主要文件目录activity_main.xmldemo.xmlMainActivityActivity_Demo运行主要文件目录 主要实现的功能就是点击按钮能够实现界面的跳转。 activity_main.xml 主界面&#xff0c;包含一个按钮 <?xml version"1.0" encoding"utf-8"?> <a…

pdf转ppt的简单方法,包你一学就会

每个职场人的必备技能就是要能做一个“完美”的PPT&#xff0c;在做PPT之前肯定也少不了资料收集的过程。有的人收集资料时找到的是PDF格式的文档&#xff0c;这时候你可能就会想&#xff0c;如果能把PDF的内容直接就转还成一个PPT文档就好了。事实上这的确能办到&#xff0c;而…

2020年居家实习日志

这篇文章是我2020年在校期间疫情居家实习的日志&#xff0c;当时实习获得了很高的成绩&#xff0c;因为已经毕业挺久了觉得现在就放上来也对我也没有影响&#xff0c;还能给大家提供一个实习的模板&#xff08;膨胀&#xff09;帮助当前同样因疫情被迫居家实习广大计算机类专业…