传值&传引用&传指针

刚学c时学的传值和传引用,传指针忘得差不多了,再写一遍,复习一下

1.传值

#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
using namespace std;
void sp(int a,int b)
{
    int t=a;
    a=b;
    b=t;
    cout<<"jiaohuan"<<a<<" "<<b<<endl;
}
int main()
{
    int m=1,n=2;
    cout<<"huanqian"<<m<<" "<<n<<endl;
    sp(m,n);
    cout<<"jhuanhou "<<m<<" "<<n<<endl;
    return 0;

}

//传值相当于传的是副本而不是本身,有点像我们平时看剧里面用的替身


2.传引用


//仅仅改变了画圈的部分

//传引用的话,那么改变的就是 本身了,自然就是不用替身,真身上啦


3.传指针

(1.)


//改变的地方为画圈的部分

//这属于传指针的第一类,改变指针的直接引用,传入的实参虽然也为副本,但是改变了副本的间接引用,指针本身和副本都指向了相同的值,表面上看就反应到了其本身,就相当于虽然用替身,但替身已被同化和真身形似,表面看来就是一样的。

(2)


//改变的是画圈的部分

//传指针的第二类,改变指针的间接引用

//传入的实参为副本,但是只改变了副本的本身也没改变副本的间接引用,不会影响指针指的值,相当于替身没有被同化


猜你喜欢

转载自blog.csdn.net/xingfushiniziji/article/details/80210875