指针与引用错题汇总
int *p[3]; // 定义一个包含 3 个指向 int 的指针的数组int a = 10, b = 20, c = 30;
p[0] = &a; // p[0] 指向 a
p[1] = &b; // p[1] 指向 b
p[2] = &c; // p[2] 指向 c
// 访问指针所指向的值
printf("%d %d %d\n", *p[0], *p[1], *p[2]); // 输出: 10 20 30
int arr[3] = {1, 2, 3};
int (*p)[3] = &arr; // p 是一个指向包含 3 个 int 的数组的指针// 访问数组元素
printf("%d %d %d\n", (*p)[0], (*p)[1], (*p)[2]); // 输出: 1 2 3
int s[3][3],然后int (*p)[3],这时候p是一个指向一维数组的指针,然后p=s,p就变成指向二维数组的指针。通过指针 p 可以像访问二维数组一样访问 s 的元素:
p[i][j] 实际上等价于 s[i][j],这表明 p 确实可以用于访问 s 中的元素。
首先指针的大小为4,
在 func2 的定义中,char (&p)[10] 表示 p 是一个引用,引用的是一个大小为 10 的字符数组。
这意味着当 func2 被调用时,传入的数组不会被复制,p 直接引用原始数组。这种方式避免了数组的复制,提供了更高的效率。
相当于char p[10],就是定义了一个字符数组,sizeof§那就是数组长度,不同的是这边是引用原始数组,就不需要复制。
在 C++ 中,char *p[10] 的含义是定义一个数组,该数组包含 10 个指向 char 类型的指针。p 是一个数组,大小为 10。每个元素都是一个指针,指向一个字符(char)。char * 表示一个指向字符的指针。这意味着 p[i] 可以存储一个字符数组的首地址。
char[2] 的定义:
char[2] 表示一个字符数组,大小为 2。这个数组可以存储两个 char 类型的元素。
sizeof 运算符:
sizeof(char[2]) 计算的是这个数组的大小,即它能容纳的字节数。
sizeof(char):
在 C 和 C++ 中,sizeof(char) 的定义是 1,这意味着所有的 char 类型(无论如何定义)都占用 1 字节。
sizeof(char&) 的结果:
因为引用的类型与被引用的类型相同,所以 sizeof(char&) 的结果是 sizeof(char),即 1。
A选项中:*x 表达式试图解引用 x,但 x 是一个 int 类型的值,而不是一个指针
D选项中
int x:一个整型参数,按值传递。在函数内部对 x 的修改不会影响调用 fun 函数时传入的 x 的值。
int *y:一个整型指针,指向一个整型变量。通过指针可以修改指向的值。
#include <iostream>void fun(int x, int *y) {x *= *y; // 将 x 乘以 y 所指向的值
}int main() {int a = 5;int b = 3;std::cout << "Before fun: a = " << a << std::endl; // a = 5fun(a, &b); // 调用 fun,传入 a 和 b 的地址std::cout << "After fun: a = " << a << std::endl; // a = 5,未改变return 0;
}
Before fun: a = 5
After fun: a = 5
*y定义的是指针,其实就是地址指向的值,需要传入的也是一个地址。所以fun(a,&b)。&在这里就是取b的地址。
a也可以表示地址
相关文章:
指针与引用错题汇总
int *p[3]; // 定义一个包含 3 个指向 int 的指针的数组int a 10, b 20, c 30; p[0] &a; // p[0] 指向 a p[1] &b; // p[1] 指向 b p[2] &c; // p[2] 指向 c // 访问指针所指向的值 printf("%d %d %d\n", *p[0], *p[1], *p[2]); // 输出: 10 20 30…...
短视频账号矩阵系统源码--独立saas技术部署
短视频矩阵系统通过多账号在多个平台上发布内容,形成一种网络效应。对于抖音平台而言,技术公司需具备特定接口权限方能进行开发工作。然而,视频发布及企业号评论与回复等功能的接口权限往往难以获取。通过构建抖音账号矩阵,利用多…...
leaflet 介绍
目录 一、leaflet 官网 二、leaflet 在项目中的引用 1、在head中引入 2、在main.js中引入 leaflet目前版本是1.9.4,在leaflet插件库中,很多插件因长时间未更新,适配的是1.7版本的,在选用插件的时候要查看版本适配。 leaflet详…...
总结贴:Servlet过滤器、MVC拦截器
一:Servlet过滤器 1.1解析 Filter 即为过滤,用于请求到达Servlet之前(Request),以及再Servlet方法执行完之后返回客户端进行后处理(HttpServletResponse)。简单说就是对请求进行预处理,对响应进行后处理 在请求到达Servlet之前,可以经过多个Filt…...
鸿蒙开发:自定义一个任意位置弹出的Dialog
前言 鸿蒙开发中,一直有个问题困扰着自己,想必也困扰着大多数开发者,那就是,系统提供的dialog自定义弹窗,无法实现在任意位置进行弹出,仅限于CustomDialog和Component struct的成员变量,这就导致…...
在Windows下编译支持https的wsdl2h
下载源码 在官网下载源码 安装Openssl 下载OpenSSL并安装,安装完成后需要将OpenSSL的路径添加到环境变量中 配置VS 1、打开工程 2、因为前面安装的OpenSLL是64位的,因此需要创建一个X64的配置 打开配置管理器,然后选择新建࿰…...
PHP和GD库如何根据像素绘制图形
使用PHP和GD库,你可以根据像素绘制各种图形,比如点、线、矩形、圆形等。GD库是PHP的一个扩展,它提供了一系列用于创建和处理图像的函数。以下是一个简单的示例,展示如何使用GD库根据像素绘制图形。 安装GD库 首先,确…...
webpack(react)基本构建
文章目录 概要整体架构流程技术名词解释技术细节小结 概要 Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。它的主要功能是将各种资源(如 JavaScript、CSS、图片等)视为模块,并将它们打包成一个或多个输出文件,以便…...
《Opencv》基础操作<1>
目录 一、Opencv简介 主要特点: 应用领域: 二、基础操作 1、模块导入 2、图片的读取和显示 (1)、读取 (2)、显示 3、 图片的保存 4、获取图像的基本属性 5、图像转灰度图 6、图像的截取 7、图…...
Oracle 11g R2 RAC 到单实例 Data Guard 搭建(RMAN备份方式)
一、配置方案 环境说明 角色主库主库备库主机名rac01rac02racdg公网IP10.10.10.14110.10.10.14310.10.10.191VIP10.10.10.14210.10.10.144-SCAN10.10.10.14010.10.10.140-INSTANCE_NAMEorcl1orcl2orclDB_NAMEorclorclorclSERVICE_NAMEorclorclorclDB_UNIQUE_NAMEorclorclorcl…...
HTTPS 加密
HTTPS 加密技术 1. HTTPS 概述 HTTPS(HyperText Transfer Protocol Secure)是 HTTP 协议的安全版本,利用 SSL/TLS 协议对通信进行加密,确保数据的机密性、完整性和身份认证。HTTPS 在保护敏感数据的传输(如登录凭证、…...
泛微e9开发 编写前端请求后端接口方法以及编写后端接口
泛微e9开发 前端请求后端接口以及后端发布接口 前端请求后端接口 前端发起get请求 fetch(/api/youpath, {method: GET, // 默认 GET 方法,可以省略headers: {Content-Type: application/json, // 通常 GET 请求无需指定 body,Content-Type 不太重要},…...
Linux —— 《线程控制》
文章目录 前言:为什么要链接pthread库?线程控制:线程创建:start_routine?传递自定义类型同一份栈空间? 线程等待:返回值与参数?创建多线程 线程终止线程分离 前言: 上一文我们学习…...
基于HTML+CSS的房地产销售网站设计与实现
摘 要 房地产销售系统,在二十年来互联网时代下有着巨大的意义,随着互联网不断的发展扩大,一个方便直 观的房地产管理系统的网站开发是多么地有意义,不仅打破了传统的线下看房,线下获取资讯,也给房地产从业…...
操作系统 | 学习笔记 | 王道 | 2.4死锁
2.4 死锁 文章目录 2.4 死锁2.4.1 死锁的概念2.4.2 死锁预防2.4.3 死锁避免2.4.4 死锁检测和解除 2.4.1 死锁的概念 死锁的定义 在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象&am…...
【FPGA开发】Vivado自定义封装IP核,绑定总线
支持单个文件的封装、整个工程的封装,这里用单个文件举例。 在文件工程目录下,自建一个文件夹,里面放上需要封装的verilog文件。 选择第三个,指定路径封装,找到文件所在目录 取个名,选择封装IP的路径 会…...
python的3D可视化库vedo-3 (visual模块)点对象的属性、光效、附注
文章目录 3 PointsVisual的方法3.1 对象属性3.1.1 顶点大小3.1.2 复制属性3.1.3 颜色设置3.1.4透明度设置 3.2 对象光效3.2.1 点的形状3.2.2 点的表面光效 3.3 尾随线和投影3.3.1 尾随线3.3.2 投影 3.4 给对象附加文字说明3.4.1 标注3.4.2 2D标注3.4.3 气泡说明3.4.4 旗标说明3…...
llamaindex实战-ChatEngine-ReAct Agent模式
概述 ReAct 是一种基于Agent的聊天模式,构建在数据查询引擎之上。对于每次聊天交互,代理都会进入一个 ReAct 循环: 首先决定是否使用查询引擎工具并提出适当的输入 (可选)使用查询引擎工具并观察其输出 决定是否重复…...
redis快速进门
、数据库类型认识 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行…...
从0开始linux(39)——线程(2)线程控制
欢迎来到博主的专栏:从0开始linux 博主ID:代码小豪 文章目录 线程创建线程标识符线程参数多线程竞争资源 回收线程detach 线程退出pthread_cancel 线程创建 线程创建的函数为pthread_create。该函数是包含在posix线程库当中,posix线程是C语言…...
International Journal of Medical Informatics投稿经历时间节点
20240423,完成投稿 20240612,按编辑要求修改后再投, with editor 20240613,under review,completed 0, accepted 0, invitation 2. 20240620, under review,completed 0, accepted 1, invitation 2. 20240626, unde…...
BUUCTF—Reverse—Java逆向解密(10)
程序员小张不小心弄丢了加密文件用的秘钥,已知还好小张曾经编写了一个秘钥验证算法,聪明的你能帮小张找到秘钥吗? 注意:得到的 flag 请包上 flag{} 提交 需要用专门的Java反编译软件:jd-gui 下载文件,发现是个class文…...
CLIP-MMA: Multi-Modal Adapter for Vision-Language Models
当前的问题 CLIP-Adapter仅单独调整图像和文本嵌入,忽略了不同模态之间的交互作用。此外,适应性参数容易过拟合训练数据,导致新任务泛化能力的损失。 动机 图1所示。多模态适配器说明。 通过一种基于注意力的 Adapter ,作者称之…...
三维扫描仪-3d扫描建模设备自动检测尺寸
在现代工业制造领域,三维扫描仪已成为实现高精度尺寸检测的关键设备。CASAIM自动化智能检测系统以其自动化三维立体扫描技术,为产品尺寸的自动检测提供了高效、可靠的解决方案。 CASAIM自动化智能检测系统通过非接触式测量方式,通过激光扫描…...
vue3+ant design vue实现日期选择器默认显示当前年,并限制用户只能选择当前年及之前~
1、思路:之前想拿当前年直接做赋值操作,实际上是行不通的,因为组件本身有数据格式限制,会出现报错,然后索性直接获取当前日期(YYYY-MM-DD)赋值给日期组件,这样不管你用的是年&#x…...
【electron-vite】搭建electron+vue3框架基础
一、拉取项目 electron-vite 中文文档地址: https://cn-evite.netlify.app/guide/ 官网网址:https://evite.netlify.app/ 版本 vue版本:vue3 构建工具:vite 框架类型:Electron JS语法:TypeScript &…...
05《存储器层次结构与接口》计算机组成与体系结构 系列课
目录 存储器层次结构概述 层次结构的定义 存储器的排名 存储器接口 处理器与存储器的速度匹配 存储器接口的定义 存储器访问命中率 两种接口 第1种方式:并行 命中率的计算 存储器访问时间 第2种方式:逐级 结语 大家好,欢迎回来。…...
elasticsearch报错fully-formed single-node cluster with cluster UUID
1.问题描述 k8s集群内部署的es中间件起不来,查看日志发现如下警告,节点发现功能开启,但是目前我是单节点服务,所以尝试编辑sts将节点发现功能去掉或者在部署时将你的sts的yaml文件和chart文件修改重新部署以去掉该功能 {"t…...
Milvus×Florence:一文读懂如何构建多任务视觉模型
近两年来多任务学习(Multi-task learning)正取代传统的单任务学习(single-task learning),逐渐成为人工智能领域的主流研究方向。其原因在于,多任务学习可以让我们以最少的人力投入,获得尽可能多…...
DAPP
02-DAPP 1 啥是 DApp? DApp,部署在链上的去中心化的应用。 DApp 是开放源代码,能运行在分布式网络上,通过网络中不同对等节点相互通信进行去中心化操作的应用。 DAPP 开放源代码,才能获得人的信任。如比特币ÿ…...
山乙建设公司网站/百度舆情
设置vscode为中文ctrshiftp 输入 configure language 进 en更改为zh-cn , 重启vscode即可 , 如果还不行,就安装插件 转载于:https://www.cnblogs.com/enych/p/10550095.html...
福州有名的公司网站设计/百度人工客服电话是多少
配置ES6 1.安装插件: babel-loader,babel-preset-es2015,babel-preset-react. 2.添加配置文件中部分内容: { test: /\.js$/, loader: babel-loader, query: {presets: [es2015,react]} }, 配置react 1.安装插件: react,react-dom,jsx-loader. 2.添加配置文件中部分内容: { test…...
怎样做免费外贸网站/seo排名怎么做
因为et模式需要循环读取,但是在读取过程中,如果有新的事件到达,很可能触发了其他线程来处理这个socket,那就乱了。 EPOLL_ONESHOT就是用来避免这种情况。注意在一个线程处理完一个socket的数据,也就是触发EAGAIN errno…...
建设一个班级网站的具体步骤/如何做网站建设
CCNET配置文件代码1 <cruisecontrol xmlns:cb"urn:ccnet.config.builder">2 <!--项目名称-->3 <name>StartKit</name>4 <!--标示类型,有多种类型。下面为默认标示,作为每次编译时生成的日志文件的名称--&…...
wordpress首页自定义缩略图/阿里大数据平台
1. AOP的相关概念1.1 AOP概述1.1.1 什么是AOPAOP:全程是Aspect Oriented Programming 即面向切面编程。是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重…...
辽宁建设工程信息网发完公告后还能更改资格要求吗/快速优化工具
文章目录0. 类型转换的原理1. 初始化和赋值时进行的转换2. 以{}方式初始化时进行的转换(C11新增)3. 表达式中的转换4. 传递参数时的转换5. 强制类型转换6. 使用auto让编译器自己推断变量类型0. 类型转换的原理 在进行下面的学习前,我觉得有比…...