在C/C++中常用的符号
C++中&和*的用法一直是非常让人头疼的难点,课本博客上讲这些知识点一般都是分开讲其用法的,没有详细的总结,导致我在这方面的知识结构格外混乱,在网上找到了一篇英文文章简单总结了这两个符号的一些用法,都是一些比较基础的知识,我比较关心的函数指针,指针函数等都没有涉及到,今后有时间把这部分学明白整理出来。
C/C++中*和&的用法
C++语言是C语言的超集。几乎所有可以运行的C程序都是可以运行的C++程序。因此,写一个不包含C++特性的C++程序是可能的,尽管cout和引用的使用(见下文)更好的构成了一个C++程序。C++和C在代码格式上偶尔会有不同,比如,在C语言中,我们这样把p声明为一个int类型的指针 int p,而在C++中我们使用int p(编译器并不在意你使用的是哪种格式)。
在C/C++中,*和&有很多用法,具体的使用要根据代码内容来确定。
C中*的用法
(a) 乘法运算:x=y*z;
(b) 乘法赋值运算:x*=y;相当于x=x*y
(c) 注释:/这里是你的注释/
(d) 指针的声明:int p 或 int p; 读法:p是指向一个整数类型的指针。
(e) 复合指针: int p; 或 int p; 读法 p是一个指向一个指向整数类型的指针的指针。(同样道理, int***p等等)
(f) 解引用: x=*p 把指针p指向的值赋值给x
&在C语言中的用法
(a) 逻辑与:if((a>1)&&(b<0))
(b) 位运算与:x=a&b;
(c) 逻辑与赋值:x&=y;与 x=x&y含义相同
(d) 求地址运算符:p=&x;读法:把x的地址赋给p(指针)
C++中&的补充用法
C++中有一种C不存在的变量类型引用变量(简单说来为引用),尽管在C语言中用指针也可以实现类似的功能。
引用,指针,地址是联系密切的概念。地址是在电脑内存中的地址(一般是一些变量的值在内存中的储存位置),指针是存地址的变量,所以指针可以“指向”内存地址。概念上讲,引用变量本质上是指针的另一个名字(但是并不能被编译器实例化)
在函数内像其他变量一样定义一个引用是可能的;举例
void main(void)
{
int i;
int& r = i;
…
}
但是这是没有意义的,因为引用的使用和对引用的变量的使用是一样的。
引用在函数的参数中被使用。
void main(void)
{
int i=3;
f(i);
cout << i;
}
void f(int& r)
{
r = 2r;
}
这段程序输出“6”(2r使被r引用的变量加倍,也就是指i)
在C语言中,实现同样的功能,我们可以通过声明f()为void f(int *r),其中r是指向整数类型的指针,然后调用参数&i(i的地址)调用函数f(),在函数f()内使用r的解引用,但是显然,C++提供了一种更简明的通过引用的方式向函数传值,从函数中返回值。
在C/C++中常用的符号相关推荐
- LaTex数学公式中常用的符号及标记
LaTex数学公式中常用的符号及标记 最近使用typora记录笔记时,经常需要打印数学公式,因此在网上找了一篇符号表比较齐全的文章:LaTeX数学公式的符号表示.这里我只列出其中一小部分. 另 ...
- HTML中常用特殊符号总汇
HTML中经常会用到一些特殊符号,例如箭头,雪花,心形等等,这些符号就不用css样式或者图片来写了,直接用HTML特殊符号可以实现. 例如,如下HTML代码: <body>V ...
- R语言回归表达式中常用的符号
内容源于课程,侵删.方便大家学习R语言. 符 号 用 途 ~ 分隔符号,左边为响应变量,右边为解释变量. 例如,要通过 x, z, w 预测 y,其R代码为y ~ x ...
- c语言中常用符号,C语言中常用的符号.doc
1.按位与运算 ①概念 "按位与"运算符"&"是双目运算符,其功能是将参与运算两数的各对应二进位相与.只能对应的两个二进位均为1时,结果位才为1,否则为 ...
- c语言中常用数学符号,C语言中常用的数学公式
>在使用C语言数学函数时候,应该在该源文件中使用以下命令行: #include 或 #include "math.h",这里的<>跟""分别表 ...
- Word中常用特殊符号的替换表示方法以及相似符号的区别
Word中, 有一个很重要的功能就是查找和替换; 在替换的时候, 可以用^加相应的字母/符号来表示查找或者替换的特殊符号. 下面是相应的符号列表: 分节符: ^b 段落标记: ^p, 即回车. 手动换 ...
- html中常用实体符号
HTML提供了5种空格实体(space entity),它们拥有不同的宽度,非断行空格( )是常规空格的宽度,可运行于所有主流浏览器.其他几种空格( )在不同浏览器中宽度各异. 它叫 ...
- 深度学习 机器学习 公式中常用的符号
θ theta λ lambda σ,Σ sigma δ delta ε epsilon β beta α ...
- Markdown中常用LaTex数学符号和数学公式排版整理
文本/数学关系通用符号 符号 格式 符号 格式 {\{{ \{ }\}} \} $$$ \$ %\%% \% 希腊字母 符号 格式 符号 格式 A\AlphaA, A\text{A}A \Alpha ...
最新文章
- QIIME 2用户文档. 13数据评估和质控Evaluating and controlling(2018.11)
- 12.suggest_type
- 那位熟读戈培尔语录的“同仁” 我来与您做次探讨
- NWT失败反省:明明是自己把公司搞死,却说别人水平不行
- multisim10中设置变压器匝数比的两种方法
- VS2015+OpenCV3.4.0+dmtx最新版联合集成开发 解析dm码
- 逻辑表达式在c语言中作用,C语言中逻辑表达式与关系表达式的值
- 12个顶级思维模型,非常值得一看!
- 【c++】2.DISALLOW_COPY_AND_ASSIGN的用法
- vue项目报错:warning Disallow self-closing on HTML void elements (<img/>)
- 以太网供电(POE)的关键技术解析
- 从幻想到现实,虚拟人的成长之路
- Spring Boot 对基础 Web 开发的支持(下)2-2
- winSCP:无权访问。 错误码:3 服务器返回的错误消息:Permission denied解决方案
- 月薪20k+的Android面试都问些什么?终获offer
- 阿里云无影研发负责人任晋奎:端云技术创新,打造全新用户体验
- Ubuntu 查看内核版本
- android日常常识记录
- android 电脑模拟点击,点击真理电脑版怎么下载 安卓模拟器电脑版下载地址
- AcWing 751. 数组的左方区域