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

news2024/11/25 20:21:23

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:可以用,但是不推荐使用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DDPM pytorch 代码复现

本次只分享代码以及效果,后续更新原理 代码参考 deep_thought 先看动图效果 1.选择一个数据集 %matplotlib inline import matplotlib.pyplot as plt import numpy as np from sklearn.datasets import make_s_curve import torchs_curve, _ make_s_curve(10 **…

零基础STM32单片机编程入门(四)ADC详解及实战含源码视频

文章目录 一.概要二.STM32F103C8T6单片机ADC外设特点三.STM32单片机ADC内部结构图1.ADC相关引脚说明2.ADC通道分类3.触发源4.转换周期5.电压转换计算6.更精确电压转换计算 四.规则通道ADC采集信号流向1.单次转换模式2.连续转换模式 五.CubeMX配置一个ADC采集例程六.CubeMX工程源…

通天星CMSV6车载监控平台CompanyList信息泄露漏洞

1 漏洞描述 通天星CMSV6车载视频监控平台是东莞市通天星软件科技有限公司研发的监控平台,通天星CMSV6产品覆盖车载录像机、单兵录像机、网络监控摄像机、行驶记录仪等产品的视频综合平台。通天星科技应用于公交车车载、校车车载、大巴车车载、物流车载、油品运输车载、警车车…

风控图算法之中心性算法(小数据集Python版)

风控图算法之中心性算法(小数据集Python版) 图算法在金融风控领域的应用已经超越了传统的社区发现技术,这些技术曾被主要用于识别和分析欺诈性行为模式,例如黑产团伙。当前,一系列图统计算法,包括介数中心…

笔记本重装系统怎么操作? windows电脑重装系统,超实用的四种方法

重新安装操作系统是维护计算机性能和确保系统稳定运行的重要步骤。对于 Windows 笔记本用户而言,熟悉重装系统的方法可以帮助他们解决各种问题,从提高系统速度到修复软件故障。然而具体来讲,笔记本重装系统怎么操作呢?接下来&…

【01】Java代码如何运行

JRE: 包含Java虚拟机以及核心类库 JDK: 同样包含了JRE,并且附带了一系列开发、诊断工具 一、为什么Java要在虚拟机中运行 一、 Java语言特性:高级、语法复杂、抽象 Java语言-- 【编译器】 --> Java字节码 --【虚拟机】–> 实现 二、 托管环境 自…

正点原子rk3588编译sdk

1、编译SDK 1.1 安装 RK3588 Linux SDK .repo/repo/repo sync -l -j101.2 SDK 工程目录介绍 app:存放上层应用 app,包括 Qt 应用程序,以及其它的 C/C应用程序。 buildroot:基于 buildroot 开发的根文件系统。 debian&#xff1…

AIGC对图片行业的影响分析!

前言 自从去年生成式AI火起来之后,不论是文字领域还是图片领域受到的冲击都非常大。比如说SD和Midjourney的爆火,不止是创作者,还有交易平台和使用方,都在发生变化。 AIGC自2023年全面进入大家视野,对各行各业造成了或…

论证型大语言模型:促进可解释性与可质疑的决策制定

Argumentative Large Language Models for Explainable and Contestable Decision-Making 论文地址: https://arxiv.org/abs/2405.02079https://arxiv.org/abs/2405.02079 1.概述 在探讨大型语言模型(LLMs)在决策支持系统中的应用时,我们需正视其面临的核心问题。这些问题…

MYSQL函数进阶详解:案例解析(第19天)

系列文章目录 一、MySQL的函数(重点) 二、MySQL的窗口函数(重点) 三、MySQL的视图(熟悉) 四、MySQL的事务(熟悉) 文章目录 系列文章目录前言一、MySQL的函数1. 聚合函数2. group_c…

基于Vue,mysql,JavaEE的简单投票与投票管理系统

项目介绍 ​ 本项目,基于Vue2.6,mysql,JavaEE 实现简单的投票与投票管理系统 项目地址 VotingSystem: 投票系统1.0 管理员和普通用户 (gitee.com) 有问题请评论私聊哦 项目分类 数据库 创建投票人,被投票人,投票关系(追踪谁…

python基础语法 003-4 数据类型集合

1 集合 1.1 什么是集合 什么是集合?ANS:集合set是一个无序的不重复元素序列集合怎么表示?ANS: {} , 用逗号隔开打印元组类型,type()一个元素的集合怎么表示?:ANS:存储多种类型{"a", 1} """…

海外媒体发稿:2个必选媒体宣发套餐引爆影响力-华媒舍

本文旨在介绍2个必选媒体宣发套餐的特点及其如何引爆影响力。 在当今竞争激烈的媒体环境中,有效的宣传和推广策略对于企业和个人的成功至关重要。这就是为什么选择正确的宣发套餐成为了一个关键的决策。 2. 媒体宣发套餐概述 媒体宣发套餐是一种综合性的宣传方案&…

把飞书云文档变成HTML邮件:问题挑战与解决历程

一、背景 云文档转HTML邮件 基于公司内部的飞书办公套件,早在去年6月,我们就建设了将飞书云文档转译成HTML邮件的能力,方便同学们在编写邮件文档和发送邮件时,都能有较好的体验和较高的效率。 当下问题 要被邮件客户端识别&am…

电脑数据恢复篇:如何恢复误删除的文件

在清理电脑或优化存储设备时无意中删除重要文件是人类常见的错误。不可否认的是,在批量删除文件时,您经常会同时删​​除垃圾文件和重要文件。后来您发现一堆重要的文档或文件不见了。在这种情况下,您唯一的选择就是寻找恢复已删除文件的方法…

DC-DC原理,升降压原理,BUCK,BOOST

DC-DC简述 开关电源包括电源模块,可以直接使用,不需要外部电路,提供的功率比较小。还有电源稳压器,这种功率MOS一般集成在芯片内部,但是需要选择外部电感。另外还有PWM控制器,需要选择功率MOS,二…

2024年河北省计划招聘“特岗计划”教师2300名

2024年河北省计划招聘“特岗计划”教师2300名 报名时间:6月28日9:00至7月2日18:00 笔试准考证打印:7月11日-7月13日 笔试时间:7月14日上午9:00-11:30 面试时间:8月3日至8月5日 报名网站:河北教师教育网 报名照规格&…

C#微信预约挂号系统全套源码,适用于各级公立和民营医院,与院内his、lis、pacs系统对接。

C#微信预约挂号系统源码,团队自主研发,三甲医院应用多年,系统稳定,功能齐全,支持二次开发,项目使用。 微信预约挂号系统可以让患者足不出户就可以利用微信进行在线挂号,实现分时段就诊&#xff…

Github忘记了Two-factor Authentication code

意外重置了edge浏览器 码农家园github自从开启开启了2FA认证,每次输入auth code确实麻烦,于是下载了浏览器插件 Open two factor authenticator, 最近edge频繁宕机,而且提示磁盘空间不足,要不要立即清理并重置浏览器临…

kafka 消费者 API 使用总结

前言 应用程序使用KafkaConsumer向Kafka订阅主题,并从订阅的主题中接收消息。不同于从其他消息系统读取数据,从Kafka读取数据涉及一些独特的概念和想法。如果不先理解这些概念,则难以理解如何使用消费者API。本文将先解释这些重要的概念&…