““和“*“:身怀绝技的双飞客

"&"和"*"是C语言里面的两个斜杠青年,不同的形式具有不同的作用。

一、"&"运算符

1.按位与运算符(Bitwise AND operator

对两个操作数的每一位进行逐位比较,相应位都为1时,结果的相应位才为1,否则为0。

int a = 5;  // 二进制: 0101  
int b = 3;  // 二进制: 0011  
int result = a & b;  // 结果: 0001 (即1)  

2.取地址运算符

&是一个超级侦探,能够瞬间查出任何人的地址,在C语言里这个地址被称为内存地址。例如,&girl会返回变量girl的内存地址。这就像你通过"&"查到了girl家的具体位置,然后你就可以随时去“拜访”她了。

这个地址可以存储在指针变量中,或者用于指针运算。

ptr = &girl;    // 把girl的地址赋给指针变量ptr
ptr++;  //指针自加运算

二、"*"运算符

1.乘法运算符

用于数学计算的运算符,计算两个数的乘积,咱们再熟悉不过了。

2.解引用运算符

*也有超级侦探的一面,这位神探善长的技能是按图索骥,只要你给出任何人的地址,它就能立马找到这个人。C语言里指找到用于获取指针指向的变量的值,其实也就是这个变量本身(值就是变量到底是什么,是变量的本质)。例如,如果ptr是一个指向girl的指针,那么*ptr将返回girl的值。

meizi = *ptr; // 找出ptr指向的变量的值,也就是girl的值

只不过有个头痛的问题,girl是什么类型的变量呢?她的值又是什么呢?

自然不是int型,也不是double、char型,她绝不是这么普通单调乏味的类型,一定是一个综合类型,就叫她“对象”吧!

至于她的值嘛!只能留给研究妹子的专家学者回答了。

3.指针声明修饰符:

星号还用于声明一个指针类型的变量。例如:

int *ptr; //表示ptr是一个指向整数的指针。

总结一下,"&"和"*"之所以能用于不同的运算符,是因为它们的操作数不同:

"&"用作按位与运算符时操作数有两个,称为双目运算符;用作取地址运算符操作数只有一个,称为单目运算符。*也是一样,只不过用于一个操作数时,除了解引用运算符之外,还可用指针声明修饰符,其实这两个运算符的本质是一样的,详见下文:

指针简介:欲送你花,先找你家

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

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

相关文章

大模型日报|6 篇必读的大模型论文

1.华为推出科学智能体 Agent K v1.0,已达 Kaggle 大师水平 在这项工作中,来自华为诺亚方舟实验室和伦敦大学学院的研究团队提出了 Agent K v1.0,它是一个端到端自主数据科学智能体(agent),旨在对各种数据科…

Redis在docker中的主从,哨兵配置

主从配置 docker 中redis服务启动,将配置文件和数据挂载到 redisData中,记得先创建好redis.conf docker run -p 6379:6379 \--name redis \-v /root/redisData/data:/data \-v /root/redisData/conf/redis.conf:/etc/redis/redis.conf \-d redis redis-server /et…

游戏中的设计模式及杂项

概述 如果要做以下游戏功能会用到哪些设计模式。比如创建一个人物角色,这个角色可以装备刀,然后角色可以用刀砍怪物,造成流血。 对于这个游戏功能,可以使用以下设计模式: 工厂模式(Factory Pattern&#x…

MySQL核心业务大表归档过程

记录一下2年前的MySQL大表的归档,当时刚到公司,发现MySQL的业务核心库,超过亿条的有7张表,最大的表有9亿多条,有37张表超过5百万条,部分表行数如下: 在测试的MySQL环境 : pt-archiv…

cache(二)直接缓存映射

在知乎发现一份不错得学习资料 请教CPU的cache中关于line,block,index等的理解? PPT 地址 https%3A//cs.slu.edu/%7Efritts/CSCI224_S15/schedule/chap6-cache-memory.pptx 课程主页 https://cs.slu.edu/~fritts/CSCI224_S15/schedule/ 0. 缓存定义 这张图展示了缓…

探索Apache Spark:现代数据处理的闪电利剑

在大数据技术的快速发展中,Apache Spark凭借其高效的内存计算和友好的编程模型,成为了现代数据处理领域中的一颗耀眼明星。Spark的出现填补了批处理和实时处理之间的空白,使得数据分析任务能够以前所未有的速度和效率得以执行。本文将深入剖析…

光流法(Optical Flow)

一、简介 光流法(Optical Flow)是一种用于检测图像序列中像素运动的计算机视觉技术。其基于以下假设: 1.亮度恒定性假设:物体在运动过程中,其像素值在不同帧中保持不变。 2.空间和时间上的连续性:相邻像素之…

软考中级-软件设计师 Python篇

文章目录 Python 基础语法Python 数据结构函数与模块面向对象编程常用算法实现文件操作异常处理常用库 Python 基础语法 变量与数据类型:Python支持多种数据类型,包括整数 (int)、浮点数 (float)、字符串 (str)、布尔值 (bool) 和复数 (complex)。 x …

打造自己的RAG解析大模型:(可商用)智能文档服务上线部署

通用版面分析介绍 版面解析是一种将文档图像转化为机器可读数据格式的技术,广泛应用于文档管理和信息提取等领域。通过结合OCR、图像处理和机器学习,版面解析能够识别文档中的文本块、图片、表格等版面元素,最终生成结构化数据,大…

【MySQL】MySQL基础知识复习(下)

前言 上一篇博客介绍了MySQL的库操作,表操作以及CRUD。 【MySQL】MySQL基础知识复习(上)-CSDN博客 本篇将进一步介绍CRUD操作,尤其是查找操作 目录 一.数据库约束 1.约束类型 1.1NULL约束 1.2UNIQUE:唯一约束 …

新的服务器Centos7.6 安卓基础的环境配置(新服务器可直接粘贴使用配置)

常见的基础服务器配置之Centos命令 正常来说都是安装一个docker基本上很多问题都可以解决了,我基本上都是通过docker去管理一些容器如:mysql、redis、mongoDB等之类的镜像,还有一些中间件如kafka。下面就安装一个 docker 和 nginx 的相关配置…

第12课 二维数组(1)

string类型不知道各位童鞋们都掌握了没,没掌握的话,嘿嘿嘿(抱拳)我稍微练过一点散打哦。 好了,开玩笑的,今天的课程难度较高,所以我决定分三课讲,就是想让大家把二维数组彻底吃透&a…

什么是C/C++,有什么特点

C/C 简介 C 和 C 是两种广泛使用的编程语言,它们在计算机科学和软件开发中具有重要的地位。C 语言由 Dennis Ritchie 于 1972 年在贝尔实验室开发,主要用于编写操作系统(如 Unix)。C 语言由 Bjarne Stroustrup 于 1979 年在贝尔实…

性能测试|JMeter接口与性能测试项目

前言 在软件开发和运维过程中,接口性能测试是一项至关重要的工作。JMeter作为一款开源的Java应用,被广泛用于进行各种性能测试,包括接口性能测试。本文将详细介绍如何使用JMeter进行接口性能测试的过程和步骤。 JMeter是Apache组织开发的基…

linux物理内存管理:node,zone,page

一、总览 对于物理内存内存,linux对内存的组织逻辑从上到下依次是:node,zone,page,这些page是根据buddy分配算法组织的,看下面两张图: 上面的概念做下简单的介绍: Node&#xff1a…

npm i忽略依赖冲突

在使用npm安装依赖时,如果遇到依赖冲突,通常npm会提示错误并阻止安装。但是,如果你想要忽略这些依赖冲突,可以使用以下几种方法: 1.使用--force或-f参数:这个参数会强制npm忽略某些错误,包括依…

Pr:视频过渡快速参考(合集 · 2025版)

Adobe Premiere Pro 自带七组约四十多个视频过渡 Video Transitions效果,包含不同风格和用途,可在两个剪辑之间创造平滑、自然的转场,用来丰富时间、地点或情绪的变化。恰当地应用过渡可让观众更好地理解故事或人物。 提示: 点击下…

使用vscode 连接linux进行开发

1. 在Vscode中安装扩展功能remote ssh 2. 打开命令窗口 3. 在弹出的命令窗口输入ssh,并从弹出的提示中选择 Add New SSH Host 4. 在弹出的输入窗口中输入类似下面形式的 连接地址: 5. 输入回车后出现下面的对话框,这个对话框是说你要用哪个…

面试击穿mysql

Mysql三大范式: 第一范式(1NF): 不符合第一范式的典型情况是在一个字段中存放多种不同类型的详细信息。例如,在商品表中,若将商品名称、价格和类型都存储在同一个字段中,会带来诸多弊端。首先,在…

WRF-LES与PALM模型:风能资源评估、风力发电、大涡模拟、大尺度湍流涡旋、大雾预报、局地环流模拟、城市热岛效应、流场模拟

专题一、背景 1、流体力学简介 2、计算流体力学简介 3、应用场景举例 专题二、计算机基础与编程入门 1、计算机基础与编程入门 2、计算机基本概念和操作系统讲解 3、Linux基础命令与操作 专题三、科学计算与数据处理基础 1、NumPy基础:数组操作与科学计算 …