資料結構C語言中引數傳遞的與用法

2021-03-03 23:18:52 字數 2074 閱讀 6512

1樓:匿名使用者

&,在c++中作為引抄用形參,c中是不能襲這樣用的,資料結構中使用的類c寫的,為了保持相容性就是用了引用形參!!!**,是用的c中的雙指標的問題,就是說指向指標的指標,即指標的內容在函式中可以被改變,如果用單指標指標的話,對指標的改變不會被帶出函式!!

這一點是難點,我以前也在這而迷惑了好長一段時間,好好想想等你明白了你就對指標有了個更深入的瞭解了!!

又不明白的可以交流下!!隨時歡迎!!

2樓:匿名使用者

定義函式的時候bai

引數形式如果為duf(*p)

則傳zhi遞的時候就要dao

在資料結構c語言版中,*和&的用法是什麼?謝謝

3樓:趣奇創想

* 是宣告指標是所用。

& 是取地址符,如&a, 此時取到a的地址&&是邏輯與, 例如 a&&b, 若ab同時為1,a&&b=1,有一個是0,a&&b=0

望採納!

4樓:匿名使用者

在c語言指標中*表示變數為指標和取值的 &表示取地址

5樓:匿名使用者

*是指標的意思,當然也可以解開指標。那個&可是引用或者取地址用。

6樓:扛菸頭的大槍

*用再指標定義中

&是取地址,用法例如scanf("%d",&a);

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

7樓:匿名使用者

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

8樓:9小王子非魚

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

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

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

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

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

9樓:9小王子非魚

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

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

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

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

c語言資料結構的基本問題,C語言資料結構的一個基本問題

1 int read 2d array int array,int i,int j,int column 2以上函式的引數第一行的int array是函式引數這個引數說明該函式引數列表一接收的資料型別為int 型的變數 也就是指向int 型指標變數的指標變數 那麼return int array i...

C語言資料結構迴圈佇列插入操作,資料結構(使用C語言)佇列

取餘是為了判斷佇列是否是滿的 sq a sq rear x 這句是講x插入到隊尾 include include struct link cqueue 初始化迴圈鏈佇列 struct link cqueue init link cqueue 1 插入 即入隊 演算法 struct link cque...

必須先學c語言再學資料結構與演算法設計嗎

是的,如果連基礎的c語言語法都不會,那你怎麼去實現你要學習的演算法呢?沒學過c語言可以學c語言資料結構與演算法嗎?你好一點小建bai議希望能du 對你有幫助 1 學演算法 學習演算法和zhi具體的語言還是dao 有一內定的聯絡,比如說你的容演算法最後要用c語言來實現,因為c是程序導向的,所以這和用物...