C++指针与引用

来源:互联网 发布:网络拓扑层级 编辑:程序博客网 时间:2024/04/30 06:49

#include <iostream.h>
//引用传递
int add1(int &x,int &y)
{
 x=5;
 return x+y;
};
//指针传递
int add2(int *x,int *y)
{
 *x=5;
 return *x+*y;
};
//值传递
int add3(int x,int y)
{
 x=5;
 return x+y;
};
void main()
{
  int a=1;
  int &b=a;//引用,表示b的引用指向了a  定义引用 &开头 必须赋初值 引用变量不占用内存
  //如果是指针 指针也会占用一片内存,你获取不到引用的地址,相当于b是a的别名
  b=5;//此时b改变 a跟着改变
  int c=9;
  b=c;//这里b的地址指向a  =表示赋值 此时b=9
  cout<<a<<endl;

  int k=1;
  int *h=&k;
  cout<<*h<<endl;//cout<<h<<endl可以输出引用的地址 而引用则获取不到地址
 
  int x=6;
  int y=9;
  add1(x,y);
  cout<<x<<endl;

  x=6;
  y=9;
  add2(&x,&y);
  cout<<x<<endl;

  x=6;
  y=9;
  add3(x,y);
  cout<<x<<endl;
}

 

输出结果

 

9
1
5
5
6

原创粉丝点击