C在定義函式時,在傳遞的引數後面加上是什麼意思

2021-03-03 21:12:32 字數 3777 閱讀 9310

1樓:匿名使用者

沒有這個形式,寫反了,應該是:

bool start(char& strr) {}這是說,函式的形參是你傳遞的實參的一個別名(引用)。

什麼叫別名呢?那就是一損俱損,一榮俱榮,完全可以當作同一個東西對待。

說白了,函式裡對引用引數的改變會影響到呼叫這個函式的程式中實參的值。

2樓:

引用,也就是直接用該變數,不生成副本

沒有&的話,就是拷備一個副本,然後再用,怎麼改變也不會影響原來的變數

bool start(char &strr)

3樓:沃聰接俠騫

函式引數傳遞順序,有stdcall

cpascal

fast

this

等標準,並不是c和c++定義的引數傳遞順序,具體你可以看一下這些呼叫的區別

c語言函式傳引數加一個&在前是什麼意思

4樓:幻形術

c語言不能在函式引數前加&,能加&的是c++語言。

在c++語言裡,型別後加&表示引用,如

int a;

int & b = a;

表示b引用a,b實際上就是a的別名。修改b的值也會導致a的值被修改。

函式傳參時,加&表示把實參直接傳遞給函式,而不加&表示是傳拷貝。

傳引用:將實參直接傳給形參,對於複雜點的較大的結構體或類型別,可以省去效率低的拷貝過程,但如果傳的是非const引用,那麼在函式內部對形參的修改將會導致實參也會被修改。

傳值:將實參拷貝一份傳給形參,因此對於傳遞大點的資料結構時效率相對較低,對形參的修改不會影響外部實參。

c語言中沒有引用的概念,都是以指標處理。

c++函式引數中的"&"號是什麼意思呢?

5樓:匿名使用者

在函式的宣告或定義中,形參帶'&'號,表示形參是該型別的引用型別。所謂引用是一個變數的別名,這樣對形參的修改會反映在實參上。

比如要實現交換就可以用

void swap(int &a, int &b)在函式的呼叫中,實參帶'&'號,表示取地址運算,結果是一個指向操作變數的指標。

6樓:匿名使用者

1取地址;

int i=1;

int pi=&i;

2位運算,表求按位與

int a=1,b=3;

int c=a&b;

3引用int a;

int &b=a;//b是a的引用,b等同於a這是 sun_siliang 的答案

7樓:匿名使用者

引用,即給一個變數取別名,他們還是同一個變數,就是比如a=0;呼叫 func(a);再函式裡面count++;函式結束後會改變a的值,a這時候等於1.建議去看c++ primer,經典必讀書籍

8樓:匿名使用者

int &count它有什麼功能,

這個函式

傳入的第二個引數是一個函式地址的引用

count(root->lchild) //而這裡就是呼叫這個函式 目的應該是求根結點左孩子這邊的葉子結點數

9樓:匿名使用者

&本身是取地址符,這裡表示引用,就是建立count的一個副本,函式中對count物件的修改不影響原傳入的實參

10樓:匿名使用者

引用,建立一個count的複本,這樣就不會更改你傳遞進來的引數值了,當然如果你想改變的話的應該用指標:int func(int * count)

11樓:匿名使用者

取地址操作符,或者引用,

12樓:

引用 可以修改count

c++函式名後面加&什麼意思,比如說void func&(figure &p)

13樓:璀璨叵儍瀦

&是保留符號不能使用在變數名和函式名

int b;

int & a = b;

此時a 引用 b,它類似於指標,但是a並沒有儲存單元void abc(int & a);

當作為引數時,如果你在函式內修改 a 的值,那麼實參也會改變void abc(const int &a);

當然,你只需要在前面宣告它在該函式為只讀時就不能修改了通常引用是用來優化傳參的,畢竟它傳遞時不會複製一份實參你可能會發現有這樣一種寫法

int main()

//a生存期結束

這叫右值引用,它用來延長返回值的生存期

我們都知道 當返回的時候將會複製2次

第一次返回值複製給臨時值,然後再複製給接收的值如果使用了右值引用,那麼就能直接使用臨時值,而不需要二次複製

請問c++中在函式中&是什麼意思?

14樓:匿名使用者

&意思就是別名,其實就是它本身。void set_date(date& d)就是說傳進的引數本身就是d,在記憶體中就這一個d,如果函式內對這個d修改了,相應記憶體中的那個d也改變了,因為他們是一個。

void set_date(date d),這樣的話傳入的引數是和d一樣值得一個數,在記憶體中是對原來的d拷貝了一份使用。如果函式內修改了只是修改了備份,對原來的d沒影響。

15樓:匿名使用者

這是引用形參,直接關聯到傳遞的引數上,在你的程式裡呼叫時的引數就是被繫結的

date1和date2

16樓:匿名使用者

這還是引用的說。。。。。。。。類date的引用

c++函式形參列表中(account&)是什麼意思 為什麼&在後面

17樓:

#include

using namespace std;

class account

int i;

在c語言裡向函式傳遞的是「&+引數」是什麼意思??

18樓:匿名使用者

是引用,c++中的概念,int a;int &b=a;這就宣告瞭b是a的引用,經過這樣的宣告後使用a或b的作用相同,都代表同一變數。對變數宣告一個引用,並不另開闢記憶體單元。函式引數傳遞有兩種情況,有一般的將變數名作為引數,這時傳遞給形參的是變數的值,在執行函式的時候,形參的值發生的變化並不傳遞給實參。

傳遞變數的指標,使形參得到一個變數的地址,這時形參指標變數指向實參變數單元。引進引用後,函式引數的第三種傳遞方式就是傳送變數的別名。 代替地址的傳遞,更加簡單

19樓:

c語言裡沒有"&+引數",只有"&引數"——這裡的引數是指變數名或常量。有兩種情況:

當"&引數"前面還有引數(變數或常量)時,&是「按位與"的意思,即將&前後兩個資料的二進位制位對應進行"與"操作,比如3&4就是011&100=0。

當"&引數"前面沒有引數時&是單目運算子,是取&後面變數的地址的意思,這時&後面的引數必須是能夠取地址的目標,否則出錯。比如char a,*p=&a,*q="fjks";正確,而若int *p=&3;則錯誤,因為立即數常量3沒有地址。

20樓:匿名使用者

一個型別前面加&就是指取其地址

不過像您這個例子的話,我個人感覺也是*sqlist.如果沒有特殊情況的話.

C語言傳遞函式指標引數的時候能否傳遞NULL

語法上講沒有問題,但實際上來說一般來說是不穿null的,因為沒什麼意義。如果真出現了要小心。通常要對指標進行判斷是否為空 c語言函式宣告中將函式指標引數設定為null的預設值 指定形參預設值是c 的語法,標準c是不支援這種語法的。使用c 語法,通常可以儲存檔案時使用cpp字尾儲存。另外,形參的預設值...

請問C 中成員函式在類裡面定義和在類外定義有什麼區別

效能來說沒啥區別。不過放在類外,的定義和實現分開,有利於 封轉,別人需要呼叫你的介面的時候,你可以只給他標頭檔案,的實現自己留著。在類裡定義時,這種函式會被編譯器編譯成行內函數,在類外定義的函式則不會。行內函數的好處是加快程式的執行速度,缺點是會增加程式的尺寸。比較推薦的寫法是把一個經常要用的而且實...

C 定義函式,有引數,實現對實參值的交換,用指標和引用2種方式實現

如下 void cmp int a,int b void cmp int a,int b 飲冰軒者 include main 這是引用,指標和這個差不多 include main 這是指標,求採納 void swap1 int a,int b 指標 void swap2 int a,int b 引用...