1. 程式人生 > >C++基礎(3)區域性變數和引用

C++基礎(3)區域性變數和引用

1.區域性變數

        在C++語言中,允許在程式碼塊的任何地方定義區域性變數;而在C語言程式中,區域性變數必須集中定義在可執行語句的前面。 一般來說,在較短的函式程式碼中,將區域性變數在函式開始位置集中定義比較好,這樣在程式碼維護時能夠迅速確定變數的定義位置;而在程式碼較長的大函式中,通常在最近使用變數的位置定義變數較合適,這樣能夠方便對程式的檢視和修改。

2.引用

       引用是C++的特性。簡單來說,引用就是另一個變數的別名;也就是說,引用和它所指的物件是同一個實體。引用的主要用途之一是作為函式的輸出引數使用,在作為輸出引數方面,它可以起到與指標引數相同的作用。但其使用更簡便。

..........	
    int nmale,nfemale;
	StudentStatic(aStudent,pnum,&nmale,&nfemale);
	cout << "男生的數量為:"<<nmale<<endl;
	cout << "女生的數量為:"<<nfemale<<endl;
...........

void StudentStatic(Student *aStudent,int *pnum,int *nmale,int *nfemale)
{
	int male,female;
	male = female = 0;
	for(int i =0;i<*pnum;i++)
	{
		if(aStudent[i].m_sex == '0')
			male++;
		else
			female++;
	}
	*nmale = male;
	*nfemale = female;
}

引用和指標既有相似之處,也有明顯的區別。總結如下:   

 (1)引用和指標都可以通過一個變數訪問另一個變數,但訪問時的語法形式不同。引用採用的是直接訪問形式,而指標採用的是間接訪問形式。   

 (2)當作為函式引數使用時,引用所對應的實參是某個變數的名字,而指標所對應的實參是某個變數的地址。引用在作為函式引數使用時,其效果與指標相同,但使用更方便。  

 (3)引用在定義時被初始化,其後不能被改變(即不能再成為另一個變數的別名);而指標則可以再通過賦值的方式,指向另一個變數。