1. 程式人生 > >c++引用問題

c++引用問題

c++引用

1、整型變量的引用

程序如下:

#include <stdlib.h>

#include <iostream>

using namespace std;
int main()
{
int a=10;
int &b=a;
 b=200;//此處變量賦值不能int ,否則重定義
cout<<"此時a的值是;"<<a<<endl;
 a=100;
cout <<"此時b的值是:"<<b<<endl;
system("pause");
return 0;
}

技術分享

標明,引用無非就是給已經出現的變量定義了一個別名。所以在程序執行的過程中,對原來的變量做何種操作和對於他唯一的別名做什麽操作,其實是別無二致的事情,因為本質上,兩者是一種東西。

2、結構中的引用

#include <stdlib.h>
#include <iostream>
using namespace std;
typedef struct{
int x;
int y;
}COORD;//結構體的定義,這是結構體的名字、
int main(){
COORD c;//結構體類型的c.
COORD &c1=c;//數據類型就是結構體名,然後按格式&別名
c1.x=10;
c1.y=29;
cout<<c.x<<endl<<c.y<<endl;
system("pause");
return 0;
}

運行結果:

技術分享

註意的問題:結構體的定義、結構體引用時,就結構體名就相當於數據類型。

3、指針中的引用

#include <stdlib.h>
#include <iostream>
using namespace std;

int main()
{
	int a=10;
	 int *p=&a;//定義一個指針p,它指向a.註意&
	 int *&q=p;指針類型引用的格式:數據類型 * & 別名=原來指針
	*q=5;//註意不能前面再加數據類型,否則出現重復定義
	cout <<a<<endl;

	system("pause");
	return 0;
}

運行結果:

技術分享

4、引用後的別名作為函數參數

代碼:

#include <stdlib.h>
#include <iostream>
using namespace std;
//聲明一個具有交換功能的函數
void fun(int &a,int &b);//a,b分別是實際參數的別名,作為形參使用,註意起別名的時候一定要加數據類型的啊

int main()
{
	int x=10;
	int y=20;
	cout <<x<<","<<y<<endl;
	 fun(x,y);
	cout<<x<<","<<y<<endl;

	system("pause");
	return 0;
}
void fun (int &a,int &b){

	int c=0;
	c=a;
	a=b;
	b=c;
	};
運行結果:

技術分享

今天主要學習了c++的幾種引用的類型,搞清楚沒種引用相應的格式類型,理解也很容易。今天的學習到此為止。

c++引用問題