首页 > 代码库 > c++ 指针、引用和取值;

c++ 指针、引用和取值;

直接看代码:

 1 #include<iostream>
 2 using namespace std;
 3 int add(int *a,int *b){
 4     int s;
 5     s = *a + *b;
 6     cout<<"sig1  "<<a<<endl;//a就是指针,它是一个地址;
 7     cout<<"sig2  "<<&a<<endl;//&a,&在这里仍然是个取址的符号,取得是地址的地址;
 8     cout<<"sig3  "<<*&a<<endl;//这里我觉得“*”就是将地址所指的内容给呈现出来,所以这里就是a;
 9     cout<<"sig4  "<<**&a<<endl;//同上,继续将a作为地址的内存上的内容读出来;
10     return s;
11 } 
12 int main(){
13     int sum,a=1,b=2;
14     sum=add(&a,&b);//为什么要用&a,在这里“&a”传的是地址,因为add的参数是指针,指针要指向地址;
15     cout<<"sig5  "<<&a<<endl;//它还是第13行中定义的那个a,所以跟第6行显示的一样;
16     cout<<sum<<endl;//两个值相加返回的就是int型的值啦;
17     int *p=&a;
18     cout<<p<<endl;//将a的地址赋给指针p;
19     cout<<*p<<endl;//将p所指向的地址的内容呈现;
20     int &c=a;//在这里是引用,之前看一篇博文上写的一句话特别好“&在类型后边时是引用,和变量在一起不挨着类型是是取址。”
21     cout<<c<<endl;//所以这里a就是c,是内存中的同一块。
22     return 0;
23  } 

技术分享

恩就是这样。等后续,遇到问题再来补充。

 

c++ 指针、引用和取值;