資料結構在定義引用時有的有,有的沒有,這是為什麼

2021-03-04 05:57:29 字數 2098 閱讀 8581

1樓:你猜我猜哇擦猜

因為你的模板型別是不確定的,它有可能是一個很大的結構或類

這種時候按值進行傳遞會傳遞過去實際引數的一份拷貝,對於時間空間都是不利的

而傳遞引用實際上只是傳遞了引數的地址,無需執行引數的拷貝操作,省時省力

2樓:匿名使用者

&表示引用,沒有表示的值型別

資料結構中*和&的區別是什麼

3樓:匿名使用者

應該是c++裡的吧?沒有在c語言版的資料結構中看見&吧?

在定義時,* 是一個識別符號,宣告該變數是一個指標,比如說int *p; 那p就是一個指向int型的指標;

在呼叫時,*p是指指標p指向的那個變數,比如說之前有int a=5;int *p=a;那麼p的值是a的地址,也就是指標p指向a,*p則等於a的值,即*p=5。

而&,則是引用,比如說有定義int a=5;再定義int b=&a;那麼這裡的b則引用a的值,即b=5

,而再給b賦值:b=10,a的值也會變為10。

我想樓主會問*和&的區別,應該是針對函式定義裡的引數而言吧,因為這裡的這兩者比較相似:

舉幾個簡單例子:

先定義有int x=0;和int *p=x;

1、若定義函式: void fun_1(int a) , 則呼叫:fun_1(x); 之後,x還等於0;因為fun_1函式只改變了形參a的值,a只是fun_1函式裡的區域性變數,呼叫fun_1(x)相當於是「a=x;a=5;」,x沒變;

2、若定義函式:void fun_2(int &a) , 則呼叫:fun_2(x); 之後,x等於5;因為這裡的a引用了x的值;

3、若定義函式:void fun_3(int *a) , 則呼叫:fun_3(p); 之後,x也等於5;因為fun_3函式的引數a是一個指標,相當於a=p;*a則與*p指向同一地址,改變*a即改變*p即x

4樓:9小王子非魚

資料結構中*是取地址內容,和c語言用法一樣。而&的用法有兩種,一種是取地址運算子,和c語言的一樣,另一種是引用,參考了c++的用法。

*有兩個意思,一是定義指標時使用:int* p=pa;另一個是解引用時使用:cout<<*p<&也有兩個意思,一是取地址時使用:

int* p=&a;另一個是定義引用時使用:int& a=b。

*&的意思是指標的引用,一般在函式的傳參時使用,表示將指標直接傳給函式,不是僅僅複製指標的地址作為副本進行傳遞。

資料結構中*和&有什麼區別?

5樓:9小王子非魚

資料結構中*是取地址內容,和c語言用法一樣。而&的用法有兩種,一種是取地址運算子,和c語言的一樣,另一種是引用,參考了c++的用法。

*有兩個意思,一是定義指標時使用:int* p=pa;另一個是解引用時使用:cout<<*p<&也有兩個意思,一是取地址時使用:

int* p=&a;另一個是定義引用時使用:int& a=b。

*&的意思是指標的引用,一般在函式的傳參時使用,表示將指標直接傳給函式,不是僅僅複製指標的地址作為副本進行傳遞。

資料結構中的&是什麼意思?

6樓:

sqstack &s是一個引用

的固定用法,而不是取地址,例如,int a; int &b = a; //這就表明了b是版a的「引用」,即a的別名。經過權這樣的宣告,使用a或b的作用相同,都代表同一變數。去掉&也不會怎麼樣,只是申明瞭一個sqstack s的變數而已

7樓:手機使用者

列印中的格式符,表示輸出一個縮排tab

希望能解決您的問題。

8樓:匿名使用者

它是順序棧的定義,在書本46頁最上面那段有說明

c語言,資料結構,為什麼有的形參前加&而有的卻不加&?這是為什麼?希望大神指點。

9樓:匿名使用者

形參加&的,表示引用傳參。對形參的修改會同時影響實參。

不加&的,只是傳值呼叫。 對形參的修改不會影響實參。

建議看下c++基礎 傳值呼叫,傳引用呼叫和傳指標呼叫的區別與聯絡。

資料結構中,資料結構中,Head Head next什麼意思

頭插法 例如輸入a,b,c 下面兩塊分別表示資料域和指標域,代表null head c next b next a 實現語句 無頭結點 head null while 迴圈條件 頭插入法的輸出順序與你的輸入順序相反 尾插法 無頭結點 head a next b next c 實現 head null...

資料結構都有哪些結構,資料結構都有哪些分類呢?

常用資料結構 陣列 array 在程式設計中,為了處理方便,把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為陣列。在c語言中,陣列屬於構造資料型別。一個陣列可以分解為多個陣列元素,這些陣列元素可以是基本資料型別或是構造型別。因此按陣列元素的型別不同,陣列又可分為數值...

資料結構考試題,資料結構 考試題

你要的演算法是隻要描述還是要上機可以通過的語句啊?先回答第8題吧。1 38,49,65,97,76,13,27,492 38,49,65,97,76,13,27,493 38,49,65,97,76,13,27,494 38,49,65,76,97,13,27,495 13,38,49,65,76,...