C++ 中指針和引用區別有哪些
在C++中,指針和引用經常用於函數的參數傳遞,二者有哪些區別呢?下面本站小編帶大家一起來看看詳細內容,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!
1.從內存上來講 系統為指針分寸內存空間,而引用與綁定的`對象共享內存空間,系統不為引用變量分配內容空間。
2指針初始化以後可以改變指向的對象,而引用定義的時候必須要初始化,且初始化以後不允許再重新綁定對象。
3.所以引用訪問對象是直接訪問。指針訪問對象是間接訪問。
4。如果pa是指針,那麼*pa就是引用了。
但是兩者在作為形參的時候非常相似,區別是指針拷貝副本,引用不拷貝。程序如下:
#include<stdio.h>
void pt(int * pta,int * ptb)
{
int *ptc;
ptc=pta;pta=ptb;ptb=ptc;
}
void ref(int &ra,int &rb)
{
int rc;
rc=ra;ra=rb;rb=rc;
}
void main()
{
int a=3;int b=4;
int *pa=&a;int *pb=&b;
pt(pa,pb);
printf("zhizhen: a=%d,b=%dn",a,b);
ref(a,b);
printf("yinyong: a=%d,b=%dn",a,b);
}
輸出結果如下圖:
zhizhen: a=3,b=4
yinyong: a=4;b=3
-
C語言中的指針是什麼
C語言中的指針是什麼呢?讓本站小編告訴你吧!閲讀下面的內容你就可以知道答案哦~指針概念指針是一個變量,該變量的數值是地址,或者説,指針是一個數據對象。類似於,int類型變量的數值是整數。與指針相關的運算符間接運算符:*ptr指向bath,ptr=&bath。獲取bath中存放...
-
C語言合併排序及實例代碼講解
歸併排序也稱合併排序,其算法思想是將待排序序列分為兩部分,依次對分得的兩個部分再次使用歸併排序,之後再對其進行合併。下面是小編為大家整理的C語言合併排序及實例代碼講解,歡迎參考~僅從算法思想上了解歸併排序會覺得很抽象,接下來就以對序列A[0],A[l]…,A[n-1]...
-
Swift與C語言指針結合使用實例
引導語:Swift可與Object-C共同運行於MACOS和iOS平台,用於搭建基於蘋果平台的應用程序。以下是本站小編分享給大家的Swift與C語言指針結合使用實例,歡迎閲讀!####用以輸入/輸出的參數指針C和Objective-C並不支持多返回值,所以CocoaAPI中常常將指針作為一種在方法間...
-
C語言中gets()函數知識
導語:gets從標準輸入設備讀字符串函數,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。。下面是C語言中gets()函數知識,一起來學習下吧:gets()函數用於從緩衝區中讀取字符串,其原型如下:char*gets(cha...