当前位置: 首页 > news >正文

c++指针和引用之高难度(二)习题讲解

1.【单选题】

int a[4] { 1001,1002,1003,1004 };

int* p{ &a[1] };

p[1] = ?

A 1001        B 1002        C 1003

解析:这道题考察了指针和数组可以混用。p 指向了 数组 a[0] 的地址,也就是 1002 的地址,此时 *p = p[0],p[0] 等于 1002 ,p[1] 就等于 1003,选C。

        

2.【单选题】

int a = 5;

int b = 6;

int& la = a;

la = b;

la++;

b = ?        

A 5        B 6         C 7

解析:这道题 la 是 a 的引用。la = b,是将 a 赋值于 b ,等效于 a = b ,la ++ 对 b 的值没有影响,此时 b 依然等于 6,选B。

3.【单选题】

int* a = (int*) malloc( 4 * sizeof ( int ) );

a[1] = 9;

*a = ?

A 不确定         B 0         C 9

解析:a 分配了 4 个 int 类型的空间,a[1] = 9 , *a 就等于 a[0] 的值,此时并不确定a[0]等于多少,所以选A。

4.【单选题】

int* a = ( int* )malloc( 4 * sizeof( int ) );

a[0] = -1;

char* b = ( char* ) &a[0];

b++;

memset(b, 0, 3);

a[0] = ?

A -1         B 0         C 255

解析:这道题需要用图片解释,其中 a [0] = -1 ,也就是 0xFFFFFFFF。如图所示:

b++后,如图所示:

memset(b, 0, 3) 后,如图所示:

又因为内存排序方式为从低位到高位,所以 a[0] 等于 0x000000FF 等于255,所以选C。

5.【单选题】

int* a = ( int* )malloc( 4 * sizeof( int ) );

memset( a, 65535 , 4 );

a[0] = ?

A -1         B 65535         C 255

解析:65535 等于 2的16次方 - 1,也就是 0xFFFF。memset( a, 65535 , 4 ),在 a 的前 4 个字节 赋值 0xFFFF ,但是 每个字节只能赋值0xFF ,所以 a[0]等于 0xFFFFFFFF,也就是 - 1。 

6.【单选题】

int a* = calloc(1, 4);

a = realloc( a,100 );

A a的内存地址可能发生变化

B a的内存地址一定发生变化

C a的内存地址一定不发生变化

解析:这道题选A。a重新分配内存空间后,内存地址可能发生变化。

7.【单选题】

int a[] { 1001,1002,1003,1004 };

int *b = new int [4];

memcpy( b, &a[2] , 10);

b[1] = ?

A 1004         B 1002         C 1003

解析:memcpy 拷贝 a 的地址,从 1003 的地址开始拷贝 ,拷贝 10 个字节,此时b[0] = 1003 ,b[1] = 1004,选A。

8.【单选题】

int a [2][2]

{

        { 1, 2 },

        { 3, 4 }

}

int* b = (int*) a;

b[3] = ?

A 2          B 3         C 4

解析:a的地址赋值给了b,此时 b[0] = 1,   b[1] = 2, b[2] = 3,  b[3] = 4,选C。

9.【单选题】

下面说法正确的是:

int a = 5;

int& la = a;

int* b = &la;

A b中存放的是la的内存地址

B b中存放的是a的内存地址,因此la本身并不占用内存

C b中存放的是a的内存地址

解析:这道题答案选C。la是a的引用,引用是阉割版的指针,它占用内存空间。

10.【单选题】

下面说法正确的是:

int *a = new int;

A 释放a的内存可以使用 delete

B 释放a的内存应该使用delete

C 释放a的内存应该使用free(a);

解析:选项A:正确,new 对应delete,选项B:错误,如果a是个数组可以选,选项C:可以用,但是不推荐使用。

相关文章:

c++指针和引用之高难度(二)习题讲解

1.【单选题】 int a[4] { 1001,1002,1003,1004 }; int* p{ &a[1] }; p[1] ? A 1001 B 1002 C 1003 解析:这道题考察了指针和数组可以混用。p 指向了 数组 a[0] 的地址,也就是 1002 的地址,此时 *p p[0]…...

UNIAPP编译到微信小程序时,会多一层以组件命名的标签

UNIAPP编译到微信小程序时,会多一层以组件命名的标签 解决方案 可以配置virtualHost来配置 export default {options: {virtualHost: true} }...

工业自动化控制中心

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 using System; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms;namespace 工业自动化控制中心 {public partial class Form1 : Form{public Form1(){InitializeComponent();}pri…...

【Git】GitIgnore不生效

这里可能有两种原因,一个没有刷新Git缓存,二是Git忽略规则有问题 更新Git缓存 git rm -r --cached . git add . git commit -m "modify git ignore rule"Ignore规则 检查下忽略文件的目录表示是否正确 XXX忽略任意目录下名为XXX的文件 …...

面向对象,常用类,集合,异常,JDBC,mysql数据库内容的复习,

1,面向对象 面向对象与面向过程对比 面向过程:关注过程,适合解决简单直接的问题,代码结构以函数为单位,如C语言。 面向对象:关注类,适合解决复杂问题更加适合解决复杂的项目中的问题等等&…...

HTML5+JavaScript单词游戏

HTML5 JavaScript单词游戏 数据字典格式:每行一个 单词 ,单词和解释用空格分隔,如 a art.一(个);每一(个) ability n.能力;能耐,本领 able a.有能力的;出色的 baby n.婴儿;孩子…...

Windows 中的 Hosts 文件是什么?如何找到并修改它?

什么是 Hosts 文件 Hosts 文件是一个纯文本文件,存在于几乎所有的操作系统中,用于将主机名映射到 IP 地址。在域名系统(DNS)尚未普及之前,Hosts 文件是计算机网络中唯一用于主机名解析的方式。随着网络规模的扩大和 D…...

详细分析Oracle中的tnsnames.ora基本知识 以及 PLSQL如何连接(附Demo)

目录 1. tnsnames.ora2. Demo3. 实战 1. tnsnames.ora Oracle 数据库网络配置文件,用于配置客户端与数据库服务器之间的连接 定义网络服务名称,客户端可以使用这些名称连接到数据库实例 基本的路径如下: Windows: ORACLE_HOME\network\ad…...

[深度学习] 图神经网络GNN

图神经网络(Graph Neural Network, GNN)是一类用于处理图结构数据的深度学习模型。图是一种重要的数据结构,广泛应用于社交网络、分子化学、推荐系统、交通网络等领域。GNN的出现使得能够有效地在图结构数据上进行学习和推理。以下是GNN的详细…...

MATLAB中添加 Git 子模块

目录 更新子模块 对子模块使用提取和合并 使用推送将更改发送到子模块存储库 要重用其他存储库中的代码,可以指定 Git™ 子模块。 要将外部 Git 存储库克隆为子模块,请执行以下操作: 在 MATLAB 当前文件夹浏览器中点击右键,然…...

24级中国科学技术大学843信号与系统考研分数线,中科大843初复试科目,参考书,大纲,真题,苏医工生医电子信息与通信工程。

(上岸难度:★★★★☆,考试大纲、真题、经验帖等考研资讯和资源加群960507167/博睿泽电子信息通信考研咨询:34342183) 一、专业目录及考情分析 说明: ①复试成绩:满分100分。上机满分50分,面试满分150分,复试成绩(上机…...

深入剖析C语言中volatile与register关键字的实战应用与底层原理

引言 C语言以其贴近硬件的特性,赋予了开发者强大的底层控制能力。在众多关键字中,"volatile" 和 "register" 是两个具有特殊意义的关键字,它们直接影响着编译器对程序语句的处理逻辑,从而影响程序的正确性和…...

vue开发网站--关于window.print()调取打印

1.vue点击按钮调取打印 点击按钮&#xff1a; 调取打印该页面&#xff1a; <div click"clickDown()">下载</div>methods: {//下载-调取打印clickDown() {window.print()}, }<style>/* 点击打印的样式 */media print {.clickDown {display: no…...

OJ-选座位

题目描述 要考试了&#xff0c;小明需要去图书馆挑选一个座位来复习。小明需要找到一个位置&#xff0c;这个位置应距离任何已经落座的人尽可能的远&#xff08;即与最近的人的距离尽可能的大&#xff09;。 图书馆的座位为一个N*M的矩阵&#xff0c;N表示总的排数&#xff0…...

【子串】3. 无重复的最长子串

3. 无重复的最长子串 难度&#xff1a;中等难度 力扣地址&#xff1a;https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/ 题目看起来简单&#xff0c;刷起来有好几个坑&#xff0c;特此记录一下&#xff0c;解法比官网的更加简单&…...

Scrapy中爬虫优化技巧分享

scrapy是一个非常有用的python爬虫框架&#xff0c;它可以帮助我们轻松地从不同的网站上获取数据。同时&#xff0c;scrapy也有越来越多的用户在使用它来爬取数据&#xff0c;因此&#xff0c;在使用scrapy的过程中&#xff0c;我们需要考虑如何优化我们的爬虫&#xff0c;以便…...

自然语言处理-BERT处理框架-transformer

目录 1.介绍 2.Transformer 2.1 引言 2.2 传统RNN网络的问题 2.3 整体架构 2.4 Attention 2.5 Self-Attention如何计算 3.multi-headed机制 4. BERT训练方法 1.介绍 BERT&#xff1a;当前主流的解决框架&#xff0c;一站式搞定NLP任务。&#xff08;解决一个NLP任务时的考虑…...

Kafka~消息系列问题解决:消费顺序问题解决、消息丢失问题优化(不能保证100%)

消息消费顺序问题 使用消息队列的过程中经常有业务场景需要严格保证消息的消费顺序&#xff0c;比如我们同时发了 2 个消息&#xff0c;这 2 个消息对应的操作分别对应的数据库操作是&#xff1a; 用户等级升级。根据用户等级下的订单价格 假如这两条消息的消费顺序不一样造…...

如何确保日常安全运维中的数据加密符合等保2.0标准?

等保2.0标准下的数据加密要求 等保2.0标准是中国信息安全等级保护制度的升级版&#xff0c;它对信息系统的安全保护提出了更为严格的要求。在日常安全运维中&#xff0c;确保数据加密符合等保2.0标准&#xff0c;主要涉及以下几个方面&#xff1a; 数据加密技术的选择&#xff…...

下一代的JDK - GraalVM

GraalVM是最近几年Java相关的新技术领域不多的亮点之一&#xff0c; 被称之为革命性的下一代JDK&#xff0c;那么它究竟有什么神奇之处&#xff0c;又为当前的Java开发带来了一些什么样的改变呢&#xff0c;让我们来详细了解下 下一代的JDK 官网对GraalVM的介绍是 “GraalVM 是…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...