指针的理解

int arr[3] = {10, 20, 30};  
int *parr = arr;

1. *parr  、 *arr 分别代表什么

指针parr指向数组arr[3]的首元素地址,arr数组名单独使用表示数组首元素地址,即arr==>&arr[0];

*parr和*arr是对首元素地址的解引用,代表访问arr[0]的空间,结果为10。

2. *(parr+1) 、 *(arr+1)、*parr+1、*arr+1  分别代表什么

(parr+1) 和(arr+1)都代表arr[1]的首地址;*(parr+1) 、 *(arr+1)都代表访问arr[1]的空间。

*parr==>解引用parr,即访问arr[0]的空间,*parr+1代表将存储在arr[0]空间中的值+1,结果为11 ;*arr+1同上。


3.parr++、  ++parr,  arr++ ,++arr  分别代表什么

指针parr指向arr[0]

后置++,先返回parr的值,为arr[0]的首地址,此时parr指向arr[1];

前置++,返回parr+1的值,为arr[1]的首地址,此时parr指向arr[1];

arr作为函数名单独使用,表示数组首元素地址,是常量,无法自增运算。


4.*parr++、*++parr 、*arr++、*++arr 分别代表什么

* 和++ 优先级一致,但从右往左结合

parr先与++结合自增,后置++,先返回parr的值,为arr[0]的首地址;此时parr向后偏移1后指向arr[1];再与*结合,即对parr==>arr[0]的首地址解引用,代表访问arr[0]所在空间,结果为10;

前置++,返回parr+1的值,为arr[1]的首地址,此时parr指向arr[1];再与*结合,即对parr+1==>arr[1]的首地址解引用,代表访问arr[1]所在空间,结果为20;

arr作为函数名单独使用,表示数组首元素地址,是常量,无法自增运算。


5.*(parr++),   *(arr++)  分别代表什么

先算()内的parr++,返回parr的值,为arr[0]的首地址;再与*结合,即对parr==>arr[0]的首地址解引用,代表访问arr[0]所在空间,结果为10;

先算()内的arr++,arr作为函数名单独使用,表示数组首元素地址,是常量,无法自增运算。


6.(*parr)++,  (*arr)++

先算()内的*parr,表示对parr即arr[0]的首地址解引用,代表访问arr[0]所在空间,再算++,即将arr[0]所在空间的值10自增,arr[0]空间所存储的值变为11;

由于是后置++,所以会先返回arr[0]中的数据,再对arr[0]中的数据自增。parr指向没有改变,依然指向arr[0]

arr=parr,同上。

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

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

相关文章

MongoDB 介绍

一、MongoDB 介绍 MongoDB 是一个开源的、面向文档的数据库管理系统。它采用了灵活的数据模型,以类似 JSON 的文档形式存储数据,具有高可扩展性、高性能和丰富的功能。 主要特点包括: 灵活的数据模型:文档型数据库允许存储不同…

C++面试速通宝典——29

543. 简述#ifdef、#else、#endif和#ifndef的作用 利用#ifdef、#endif将程序功能模块包括进去,以向特定用户提供该功能。 在不需要时用户可轻易将其屏蔽。 #ifdef MATH #include "math.c" #endif 在子程序前加上标记,以便于追踪和调试。 …

react hooks中在setState后输出state为啥没有变化,如何解决

在 React Hooks 中,setState 的概念被 useState 或 useReducer 钩子所替代。与类组件中的 setState 一样,这些钩子也是异步更新状态的。因此,如果你尝试在调用 setState(即 setXXX 函数)后立即读取状态值,你…

微知-BlueField DPU在lspci中显示Flash Recovery是什么意思?

效果: lspci |grep BlueField10:00.0 Memory controller: Mellanox Technologies MT42822 Family [BlueField-2 SoC Flash Recovery] (rev 01)*原因: 表示此时flash是empty空的,或者在flash中的FW是无法工作的。比如烧录错误。 这里指的一提…

How to list the environment variables in MySQL based on podman

有时候,我们期望系统的、完整的输出mysql中的环境变量,但是只是想看看,不想安装mysql,有没有什么好的办法呢? 其实,答案是有的。我们可以基于docker/podman来完成,这里推荐podman,示…

从不一样的角度体会MATLAB

MATLAB(矩阵实验室)是一个广泛使用的高性能语言,特别适合用于科学计算、数据分析和图形可视化。它的强大功能和灵活性使得它在工程、金融、科研及教育等领域得到了广泛应用。以下是对MATLAB的一些不同角度的介绍: 1. 编程环境 M…

大数据测试:Charles修改响应数据

上一篇大数据测试:Fiddler修改响应数据-CSDN博客 ,有同学反馈有没有Charles的方式修改响应数据,本篇就是Charles修改数据操作步骤,相比较fiddler,Charles相对简单,便捷,我很喜欢 1、背景&…

为什么SSH协议是安全的?

SSH的传输层协议(Transport Layer Protocol)和用户鉴权协议(Authentication Protocol)确保数据的传输安全,这里只介绍传输层协议,是SSH协议的基础。 本文针对SSH2协议。 1、客户端连接服务器 服务器默认…

serv00 恢复如初 清理 回到刚注册状态 重生

内容介绍 本期主要介绍如何将serv00恢复到刚刚注册时的初始状态, 不管你是搭建了节点还是建立了个人博客网站, 使用本期介绍的方法, 都可以将已经写入了内容或者混乱的serv00重置到刚刚注册时的状态. 更多内容:https://lzphy.top/ 1 清除PM2进程 列出进程清单 …

Web组态数据联动

1. 通过get/post获取设备列表信息 2. websocket连接mqtt服务器&#xff0c;接收json报文信息 3. 通过Alpine进行数据联动 4. 封装svg对象&#xff0c;更新属性值 index.html <!DOCTYPE html> <html lang"en"> <head> <meta charset&qu…

Wavelet Convolutions for Large Receptive Fields

大感受野的小波卷积 论文链接&#xff1a;https://arxiv.org/abs/2407.05848v2 项目链接&#xff1a;https://github.com/BGU-CS-VIL/WTConv Abstract 近年来&#xff0c;人们一直试图增加卷积神经网络&#xff08;CNN&#xff09;的核大小&#xff0c;以模拟Vision Transfo…

基于深度学习的车辆车型检测识别系统(YOLOV5)

界面图&#xff1a; 项目简介&#xff1a; 网络&#xff1a;深度学习网络 yoloV5 软件&#xff1a;PycharmAnaconda 环境&#xff1a;python3.8 opencv PyQt5 torch1.9 文件&#xff1a;训练集8000张图片 测试集1000张图片 系统包含所有文件夹 环境文件 UI文件 功能&a…

javascript中`Math.ceil` 和 `Math.floor`的区别

Math.ceil 和 Math.floor 都是 JavaScript 中的内置函数&#xff0c;用于对数字进行取整&#xff0c;但它们的行为有所不同&#xff1a; Math.ceil&#xff1a;向上取整。它返回大于或等于一个给定数字的最小整数。例如&#xff0c;Math.ceil(4.2) 返回 5&#xff0c;Math.ceil…

解决php连接本地mysql连接错误的问题

我的服务器启用的nginx&#xff0c;配置了php的连接mysql的配置文件connect.php&#xff1a; <?php$server"localhost";//主机$db_username"root";//你的数据库用户名$db_password"root";//你的数据库密码$dbname "users";$conn…

Zookeeper快速入门:部署服务、基本概念与操作

文章目录 一、部署服务1.下载与安装2.查看并修改配置文件3.启动 二、基本概念与操作1.节点类型特性总结使用场景示例查看节点查看节点数据 2.文件系统层次结构3.watcher 一、部署服务 1.下载与安装 下载&#xff1a; 一定要下载编译后的文件&#xff0c;后缀为bin.tar.gz w…

PE结构之导出表

导出表结构中各种值的意义 ​​​​​​ 根据函数地址表遍历函数名称RVA表,和上面的图是逆过程 //函数地址表 和当前内存中的位置DWORD AddressOfFunctionsFOA RVAToFOA(LPdosHeader, LPexprotDir->AddressOfFunctions);PDWORD LPFunctionsAddressInMemary (PDWORD)((cha…

ssm基于VUE的图书馆管理系统的设计与实现+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码请私聊我 需要定制请私聊 目 录 目 录 III 第1章 绪论 1 1.1 课题背景 1 1.2 课题意义 1 1.3 研究内容 2 第2章 开发环境与技术 3 …

Android终端GB28181音视频实时回传设计探讨

技术背景 好多开发者&#xff0c;在调研Android平台GB28181实时回传的时候&#xff0c;对这块整体的流程&#xff0c;没有个整体的了解&#xff0c;本文以大牛直播SDK的SmartGBD设计开发为例&#xff0c;聊下如何在Android终端实现GB28181音视频数据实时回传。 技术实现 Andr…

简单说说mysql的mvcc

mvcc的实现依赖什么 事务版本号 每次事务开始之前&#xff0c;都会从数据库获取一个【自增长】的事务id&#xff0c;从这个版本号&#xff0c;可以判断事务的先后顺序 隐式字段 对于innodb存储引擎&#xff0c;每行记录都有两个隐藏列&#xff0c;分别是&#xff1a;trx_id…

java-day11

1.ArrayList 集合和数组的优势对比&#xff1a; 长度可变添加数据的时候不需要考虑索引&#xff0c;默认将数据添加到末尾 1.1 ArrayList类概述 什么是集合 ​ 提供一种存储空间可变的存储模型&#xff0c;存储的数据容量可以发生改变 ArrayList集合的特点 ​ 长度可以变化…