C++ 星号* 与 引用&


星号 *

1.  声明的时候有*, 表示指针变量

int *p=&a;// '&'的作用就是把a变量在内存中的地址给提取出来

2.  * +地址, 表示地址操作符

3.  数字*数字, 表示乘法

4.       解引用 (寻找指针所指的地址里面的内容)

*p=5;//这就是解引用,*解释了 p对常量的内存地址的引用,解释结果就是直接去寻找p所指内容,因为p指向a,所以a的内容将被修改,而不是原来的常量值。

 

#include <iostream>
using namespace std; int main() { //1.在声明变量的时候* 指针变量 int a = 12; int *p = &a; *p; //2.地址操作符 读和写 cout << *p << endl; //读取 *p = 123; //写入 int b = 12; int c = 12 * 23 * b; //3.数字*数字 表示乘法    
   //内存操作, 读 写 取地址&
system(
"pause"); return 0; }

 

引用 &

1.  按位与 (二进制运算)

2.  取地址

3.  声明一个引用

 

引用 做函数参数

#include <iostream>
using namespace std; //引用做参数 void fun(int& a) { cout << a << endl; } int main() { int b = 12; fun(b); system("pause"); return 0; }

 

 

结合星号* 引用&

#include <iostream>
using namespace std; //引用做参数 int main() { int i = 1024; int *p = &i;   // p指针指向i int **p2 = &p; // p2指针指向p指针 cout << " i: " << i << " p: " << p << " p2: " << p2 << endl; // 分别打印 原始对象, 指针, 指针的指针 cout << " *p: " << *p << " **p2: " << **p2 << endl;  // *p 解引用, **p2 两次解引用 system("pause"); return 0; }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM