当前位置: 首页 > news >正文

【c++】c++语言中““符号的用途介绍

c++语言中,“&”符号有4种用途:逻辑与运算符按位与运算符取地址运算符引用标识符。前三种作用在c语言和c++语言中是共有的,而第4种作用是c++中特有的。下边对这4种用途做个介绍。

一、几个相关的概念

1、运算符

c++运算符是指用于执行程序代码运算的符号,其作用是告诉编译器执行特定的数学或逻辑操作的符号。

常见的运算符有:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符,以及其他一系列运算符。

算数运算符:+、-、*、/、%、++、--

关系运算符:>、<、==、>=、<=、!=

逻辑运算符:&&、||、!

位运算符:<<、>>、~、|、^、&

赋值运算符:=

2、表达式

 C ++语言中的表达式是由符合 C ++语法规定的运算对象(包括常量、变量、函数调用传回的值等)、运算符、圆括号组成的有意义的算式。

常用的表达式包括:算数表达式、关系表达式、逻辑表达式、赋值表达式。

算数表达式:用算符运算符和圆括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子。

赋值表达式:由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。

关系表达式:用关系运算将两个表达式(可以是算数表达式、逻辑表达式、赋值表达式)或变量、常量连接起来的式子。

逻辑表达式:用逻辑运算符将关系表达式或逻辑量连接起来的式子。

二、"&"符号的4个作用

1、逻辑与运算符

格式:操作数1 && 操作数2 (操作数1、操作数2为两个逻辑变量)

逻辑与运算符为2个相连的“&”符号:&&,这是个双目运算符,它要求有两个操作数(操作数可以是关系表达式或逻辑量),两个操作数经与运算后的结果仍为逻辑值。

例1:

int main()
{
	bool A,B,C;
	A=true;
	B=false;
	C=A && B;
	cout << C << endl;
	return 0;
}

运行结果:

0

2、按位与运算符

格式:操作数1 & 操作数2(操作数1、操作数2为两个算数变量)

按位与运算符为1个“&”符号:&,这也是双目运算符,它要求两个操作数是算数量,计算的结果是算数值。

例2:

int main()
{
	int a=3,b=2,c;
	c=a & b;
	cout << c << endl;
	return 0;
}

运行结果:

2

3、取地址运算符

格式:&变量名(此处变量为数据型变量)

取地址的结果为一个地址型的数据,与指针类型相同。

例3:

int main()
{
	int a=3,*p;
	p=&a;
	cout << p << endl;
	return 0;
}

运行结果:

0x73ff08

4、引用标志符

格式:数据类型 & 变量名=已声明变量名

引用相当于给一个已知变量另外取一个变量名,两个变量共用一个地址,当其中一个变量重新赋值后,地址内存储的内容发生变化,所以另一个变量的值也就发生了变化。

还需要注意的是:引用声明的同时必须赋值。

例4:

int main()
{
	int a=3;
	int &b=a;
	cout << a << b << endl;
	a=5;
	cout << a << b << endl;
	b=7;
	cout << a << b << endl;
	return 0;
}

运行结果:

3 3
5 5
7 7

(全文结束)

相关文章:

  • 【零基础入门unity游戏开发 —— 通用篇】层级(Layer)、层级编号、层级二进制掩码和unity层级检测原理
  • 【蓝桥杯速成】| 6.背包问题(01版)
  • Nuxt2 vue 给特定的页面 body 设置 background 不影响其他页面
  • 知识管理流程指南
  • Python----计算机视觉处理(Opencv:形态学变换)
  • Bellman_ford 算法--带负权值的单源最短路问题,边列表存储
  • 相机标定之DLT算法学习
  • [HelloCTF]PHPinclude-labs超详细WP-Level 6Level 7Level 8Level 9-php://协议
  • Java高级编程深度解析:JVM底层原理、设计模式与Java 8+新特性实战
  • 案例驱动的 IT 团队管理:创新与突破之路:第三章 项目攻坚:从流程优化到敏捷破局-3.2.1案例:传统企业敏捷转型的“阵痛期“应对
  • 【QT:网络编程】
  • 【大模型理论篇】R1-Searcher:通过强化学习激励llm的搜索能⼒
  • Linux rpm软件管理
  • HTML5扫雷游戏开发实战
  • 计算机视觉算法实战——实例分割(主页有源码)
  • React19源码系列之Hooks(useId)
  • 【设计模式】3W 学习法全面解析 7 大结构型模式:Java 实战 + 开源框架应用
  • JavaScript 函数类型详解:函数声明、函数表达式、箭头函数
  • CEF 控制台添加一函数,枚举 注册的供前端使用的CPP交互函数有哪些
  • 顺序表的C语言实现与解析
  • 印度证实印巴已同意停火
  • 阚吉林任重庆市民政局党组书记,原任市委组织部主持日常工作的副部长
  • 国防部:正告菲方停止以任何方式冲撞中方核心利益
  • 长安汽车辟谣作为二级企业并入东风集团:将追究相关方责任
  • 李云泽:将尽快推出支持小微企业民营企业融资一揽子政策
  • 前瞻|中俄元首今年将首次面对面会晤,专家:国际变局中构建更坚韧的合作架构