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

1.【单选题】

int a { 5000 };

int* ptrA { &a };

a++;

*ptrA = ?

A 5000         B 5001         C 5002

解析:ptrA是指向变量a的内存地址,变量a++,解引用ptrA的值也会变化,结果为5001。

2.【单选题】

int a { 5000 };

char logo { 65 };

int* ptrA { &a };

char* ptrlogo { &logo };

int c = sizeof ( int* ) + sizeof ( char* );

假设当前程序的编译架构为x64,

c=??

A 64         B 16        C8

解析:在x64架构下,指针(无论是int*char*还是其他任何类型的指针)的大小通常都是64位(即8字节)。这是因为64位系统使用64位地址空间来寻址内存中的对象。所以选B。

3.【单选题】

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

int* ptrA  { &a[0] };

*ptrA++;

int c = (*ptrA)++;

c=??

A1001         B1002         C1003

解析:这道题首先ptrA指向了1001的地址,然后*ptrA++,指针的加法等于加上数据类型的字节长度乘以数量,此时ptrA又指向的1002的地址。int c = (*ptrA)++,后置递增,c就等于1002,选B。

4.【单选题】

int a { 0x12345678 };

short* b { (short*)&a };

*b = 0xFF;

a = ?

A 0x123456FF         B 0xFF345678        C 0x123400FF

解析:这道题int占用4个字节,short占用2个字节,将b用强制类型转换为a的指针,然后对b重新赋值,会改变a的值,此时a的后两个字节将会被覆盖掉,也就是 5678 会被替换为 00FF,答案选C。

5.【单选题】

int        a { 0x12344241 };

char* b { (char*)&a };

*b++;

std:.cout << *b;

A A         B B         C 0x41

解析:char 占用一个字节,将 b 用类型转换指向 a的地址,此时 b 指向的就是 0x41的地址,*b++,地址会向前一位,此时指向0x42的地址,十进制为 66 ,对应ASCII表中B,所以选B。

6.【单选题】

int a[] { 1000,1001,1002 };

int *b{ &a[1] };

int** c { &b };

std::cout << &a [1];

此时屏幕输出了0050000,

*c++;

std::cout<<b;

输出什么?

A 1002         B 0050000         C 0050004         D 未知

解析:b指向了数组a【1】的地址,c是一个二级指针,指向的是b的地址,此时屏幕输出了0050000,说明 b 就等于 0x0050000,*c++ 就等于 c++ ,说明  c 就等于 b的地址 加 4,但是对 b 没有影响 ,此时 b 依然等于 0x0050000,选B。

7.【单选题】

const int a { 1000 };

const int b { 2000 };

const int* c { &a };

以下哪句代码将不能运行?

A c = &b;        B *c = 9000;        C c = (int*)0;

解析: const int* c { &a }; 说明 c 是一个常量指针, 指针指向可以改,指针指向的值不可以更改,所以选B。

8.【多选题】

int a { 1000 };

int b { 2000 };

int* const c { &a };

以下哪句代码将不能运行?

A c = &b;        B *c = 9000;        C c = (int*)0;

解析:int* const c { &a }; 说明 c 是一个指针常量,指针指向不可以改,指针指向的值可以更改,所以选 A 和 C。

9.【多选题】

int a { 1000 };

int b { 2000 };

const int* const c { &a };

以下哪句代码将不能运行?

A c = &b;        B *c = 9000;        C c = (int*)0;

解析:int* const c { &a }; 说明 const 即修饰指针,又修饰常量,所以 A, B 和 C都不能运行。

10.【单选题】

int a[] { 1000,1001,1002 };

int *b{ &a[1] };

int** c { &b };

std::cout << &a [1];

(*c)++;

std::cout<<b;

输出什么?

A 1002         B 0050000         C 0050000         D 未知

解析:这一题与 第七题的区别是 (*c)++ 不同,c 是一个二级指针,指向 指针 b 的地址,因为 *c  = b ,此时(*c) ++,可以等效于 b++ , 而 b 是 int 的类型的指针,所以会加 4,之前 b 等于 0050000,加 4 后等于 0050004,所以选C。

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

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

相关文章

Python爬虫开发实战,模拟登录与验证码处理

在Python爬虫的开发过程中,模拟登录和验证码处理是两个重要的环节。模拟登录可以帮助我们获取需要用户身份认证才能访问的数据,而验证码处理则是绕过网站反爬虫机制的关键步骤。本文将从实战角度出发,详细阐述Python爬虫中模拟登录和验证码处理的技术和策略。 一、模拟登录 …

axios二次封装(详细+跨域问题)

一&#xff0c;为什么要对axios进行二次封装&#xff1f;答&#xff1a;主要是要用到请求拦截器和响应拦截器;请求拦截器&#xff1a;可以在发请求之前可以处理一些业务响应拦截器&#xff1a;当服务器数据返回以后&#xff0c;可以处理一些事情 二&#xff0c;axios的二次封装…

WebSocket 心跳机制如何实现

是一种简单并且有效的策略&#xff0c;用于维持长链接的活跃状态&#xff0c;防止因为网络空闲或者不稳定因素&#xff0c;导致链接意外中断。通过周期性的心跳消息&#xff0c;确保了链接的持久性和周期性&#xff0c;是维持实时通信服务稳定运行的关键组件。 1. 定时发送心跳…

解决VSCode无法用ssh连接远程服务器的问题

原因&#xff1a; 因为windows自带的ssh无法连接远程服务器&#xff0c;需要用git底下的ssh.exe。 搜了很久&#xff0c;试过很多方法&#xff0c;包括替换掉环境变量中的ssh&#xff0c;但是都无效&#xff0c;最后发现是要在VSCode中配置需要使用哪个ssh.exe。 步骤&#…

Java学习 - 布隆过滤器

前置需求 需求 已经有50亿个电话号码&#xff0c;现在给出10万个电话号码&#xff0c;如何快速准确地判断这些电话号码是否已经存在&#xff1f; 参考方案 通过数据库查询&#xff1a;比如MySQL&#xff0c;性能不行&#xff0c;速度太慢将数据先放进内存&#xff1a;50亿*8字…

【环境配置】ubuntu中 Docker的安装

前言 Docker的使用&#xff0c;一直没有系统的梳理和记录&#xff0c;刚好最近看视频又再次的全面介绍到docker。于是记录下方便后面自己的使用&#xff0c;毕竟安装过程中还是会存在小的不丝滑。 1 Docker的简单介绍 这里的介绍来自于大模型的问答&#xff08;LLM时代的到来&a…

开启网络监控新纪元:免费可视化工具助力网络信息链路拓扑监控大屏

在数字化浪潮汹涌的今天&#xff0c;网络已成为我们生活、工作的不可或缺的一部分。然而&#xff0c;你是否曾经想过&#xff0c;在这个庞大的网络世界中&#xff0c;是谁在默默守护着每一条信息的传输&#xff0c;确保我们的数据安全、稳定地抵达目的地&#xff1f; 网络信息链…

第十二章:抽取式问答

本文我们将运用 Transformers 库来完成抽取式问答任务。自动问答 (Question Answering, QA) 是经典的 NLP 任务,需要模型基于给定的上下文回答问题。 根据回答方式的不同可以分为: **抽取式 (extractive) 问答:**从上下文中截取片段作为回答,类似于我们前面介绍的序列标注…

【力扣高频题】004.两个正序数组的中位数

------------------ 长文警告 ------------------ 4.两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O ( l o g ( m n ) ) O(log(mn)) O…

工业数据分析要用FusionInsight MRS IoTDB ?

随着工业互联网逐步兴起&#xff0c;在加速工业自动化、智能化的同时&#xff0c;也进一步加速工业生产时间序列数据的产生速度。但对于工业生产中的数据分析&#xff0c;仍然存在重复样本多&#xff0c;数据膨胀率大&#xff0c;缺乏专业易用的平台&#xff0c;这些问题成为阻…

【PYTHON】力扣刷题笔记 -- 0053. 最大子数组和【中等】

题目描述&#xff1a;给你一个整数数组 array: nums &#xff0c;请你找出一个具有最大和的连续子数组 sub-array&#xff0c;返回其最大和 子数组&#xff08;最少包含一个元素&#xff09;: 是数组中的一个连续部分 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,-3,4,-1…

NFS文件共享服务搭建

文章目录 NFS介绍特点用途 NFS版本NFS安装0. 安装规划1. 安装NFS服务2. 启动并启用服务3. 创建共享目录4. 配置NFS共享5. 应用NFS配置6. 防火墙设置7. 验证NFS服务8. 客户端挂载9. 验证挂载10. 客户端卸载nfs挂载11. 自动挂载 参考文章 NFS介绍 NFS&#xff08;Network File Sy…

golang 如何判断当前是否是运行单元测试?

我们在go的模块化开发的时候&#xff0c;运行模块里面的单元测试时&#xff0c;当前整个模块的 init 函数都会被执行&#xff0c;在某些情况下我们运行独立的单元测试并不需要执行其他文件里面的init函数&#xff0c;这时就需要判断当前是否是在运行单元测试&#xff0c;判断方…

linux的常用系统维护命令

1.ps显示某个时间点的程序运行情况 -a &#xff1a;显示所有用户的进程 -u &#xff1a;显示用户名和启动时间 -x &#xff1a;显示 没有控制终端的进程 -e &#xff1a;显示所有进程&#xff0c;包括没有控制终端的进程 -l &#xff1a;长格式显示 -w &#xff1a;宽…

jEasyUI 自定义排序

jEasyUI 自定义排序 jEasyUI 是一个基于 jQuery 的框架,用于创建富交互的网页界面。它提供了一系列的组件,如布局、窗口、数据网格等,使得用户能够轻松地构建功能强大的用户界面。在数据网格(datagrid)组件中,排序功能是一个非常重要的特性,它允许用户根据列的值对数据…

k8s部署mongodb副本高可用集群

此版本的NFS为单点,仅为练习使用,生产环境建议使用cephfs的卷类型,避免单点。或者通过keepalived加Sersync的方案对NFS作容灾处理即可用于生产环境。当然,对于开发或测试环境,方便起见,直接使用单点的NFS加mongodb statefulSet方案是最为清晰简便的。 mongodb集群部署分…

66.前端接口调用返回400的错误

错误代码400通常表示由于无效的请求导致服务器无法处理请求。这可能是由于以下原因之一&#xff1a; 1.语法错误&#xff1a;客户端发送的请求可能存在语法错误&#xff0c;例如缺少必需的参数、格式不正确等。 2.未授权&#xff1a;如果API需要认证&#xff0c;而客户端没有提…

代谢组数据分析十一:典型相关分析

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2介绍 典型相关分析(Canonical Correlation Analysis,简称CCA)是一种统计方法,用于探索两组变量之间的线性关系。与主成分分析(PCA)不同,PCA是在同一…

Gemma 2大模型:性能更优,效率更高

当地时间6月27日&#xff0c;谷歌正式发布了在一个月前的I/O开发者大会上预告过的Gemma 2大模型。这款新模型相较于第一代Gemma模型&#xff0c;在性能和推理效率上都有了显著的提升&#xff0c;为AI领域带来了新的突破。 据谷歌介绍&#xff0c;Gemma 2模型包括9B和27B两种参…

创建github个人博客

文章目录 安装Hexo安装git安装Node.js安装 Hexo git配置SSH key配置ssh 搭建个人博客新建博客生成静态网页 本文主要参考 【保姆级】利用Github搭建自己的个人博客&#xff0c;看完就会 安装Hexo 参考官方文档&#xff1a;https://hexo.io/zh-cn/docs/ Hexo 是一个快速、简洁且…