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

2021-03-05 12:24:54 字數 2595 閱讀 1547

1樓:匿名使用者

應該是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

2樓:9小王子非魚

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

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

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

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

資料結構中*和&的區別

3樓:匿名使用者

確實,這個不是資料結構的內容,而是c/c++的內容

作為運算子,&為取位址運算子,*為指標運算子或者是乘法運算子。

定義資料時,&為引用型別,*為指標型別。

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

4樓:匿名使用者

la的引用。

引用c++裡面的概念。相當於指標,但比指標安全。

看函式名是union,這個函式的功能是吧la和lb合併,然後放到la的空間中去,所以la需要以引用的方式給出來。而lb不需要修改其內容,所以就不要引用了。

5樓:紫冰魯雅

資料結構的定義就是資料結構是資料物件,以及存在於該物件的例項和組成例項的資料元素之間的各種聯絡

本身這個概念就很抽象~~~~~~~

資料結構和c語言資料結構有什麼區別

6樓:育知同創教育

c語言是一種程式設計的語言,程式設計的語言有很多種。

而資料結構則是講的是關於一些資料的理論知識。

可以說不管什麼程式語言都能用到資料結構的知識,資料結構是程式設計基礎又核心的知識。

可以將c語言想象為一種語言,那麼資料結構就是一種說話的技巧,如何讓你說話更簡潔,有邏輯,容易讓人聽懂,這表達技巧不管你用中文或者english都可以用上。

當然,如果你想成為乙個優秀的程式設計人員,資料結構是必須掌握好的

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

7樓:9小王子非魚

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

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

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

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

資料結構中&的作用是什麼?

8樓:匿名使用者

qstack &s是

乙個引用的固定用法,而不是取位址,例如,int a; int &b = a; //這就表明了b是專a的「引用」,即屬a的別名。

&是c++中的引用符號,用作函式形參是表明傳遞的是實參的乙個引用(即實參的乙個別名),這樣在函式中對形參操作會影響到實參,通常用&來通過函式改變實參的值。如果沒有&,則傳遞的只是實參的乙個副本,在函式中對形參的操作不會影響到實參。

第乙個使用&是為了用pre_e來儲存順序表中元素的值(執行完函式後pre_e在函式中的值被儲存起來),以此方便後續操作對這個值的訪問。

第二個函式中&的作用於第乙個相同

listinsert函式是在表裡面插入e這個元素,只需要插入它的副本就行了,所以不用加&,而listdelete函式作用是刪除表中元素,用&是為了得到被刪除的元素的值。如果沒有&,函式執行完後e的值還是原來未執行listdelete前的值,所以用&。

資料結構C語言,資料結構和C語言有什麼區別?

typedef struct qnode qnode,queueptr 定義兩個新資料型別qnode,queueptr,相當於 typedef struct qnode qnode typedef struct qnode queueptr 使用方法 qnode qdata struct qnode...

資料結構是什麼舉個例子,學習資料結構和演算法在什麼地方運用,一直不解求舉個例子

資料bai結構是在整個計算機du 科學與技術領zhi 域上廣泛被使用 dao的術語。它用來反映一版 個資料的內部構成權,即乙個數 據由那些成分資料構成,以什麼方式構成,呈什麼結構。資料結構有邏輯上的資料結構和物理上的資料結構之分。邏輯上的資料結構反映成分資料之間的邏輯關係,而物理上的資料結構反映成分...

學資料結構和演算法之前要先學什麼,請問資料結構和演算法二者之間究竟是什麼關係?應該先學哪乙個?

學習演算法和資料結構就是把你的程式執行速度變得更快,記憶體需求變得更小,長度變得更短。正式進入資料結構和演算法前需要了解下c 記憶體的那些事。在c 中,記憶體分成5個區,他們分別是堆 棧 自由儲存區 全域性 靜態儲存區和常量儲存區。棧,在執行函式時,函式內區域性變數的儲存單元都可以在棧上建立,函式執...