「void swap int,int 」為什麼要寫在類定以外呢,這樣有什麼用啊

2025-03-10 19:05:11 字數 3821 閱讀 2045

1樓:網友

這樣說明函式swap不是殲兆羨類成氏拍員!

在只需要swap函式的時候不猜纖需要再建立類,來用swap

也說明swap是獨立的。

懂c語言的大蝦 求問語句void swap(int*,int*);的作用。

2樓:小夏在深圳

int是c++關鍵字,表示整型,其大小是32位有符號整型,表示的範圍是-2,147,483,648 2,147,483,647;在宣告和定義變數時使用,它表示的意思是所宣告或所定義的變數為整型變數。

如果其用於函式引數時,其傳遞方向為值傳遞,即只能將實參的值傳遞給形參,而不能將形參的值傳遞給實參。

例如:通過這種方式去進行交換兩個數是無法達到目的的。

例子1:#include

using namespace std;

voidswap1(inta,intb)

int main()

結果為:a=1

b=2因為傳遞的方式為值傳遞(單向傳遞)。

3樓:

void swap(int*,int*);這是宣告乙個函式。就是說向編譯器宣告:後面要用到乙個名叫swap的函式,它有兩個int *型指標形參,沒有返回值。

也就是要用到你在主函式main後面定義的函式void swap(int*a,int*b)。如果你把這個函式定義在主函式main之前,就可以省去void swap(int*,int*);這一句。因為編譯器掃瞄到這裡時已經知道有這個函式了,在主函式main中呼叫就合法了。

4樓:蜻蜓點水

這種前面和後面的格式,本身就是c語言的語法規則要麼在宣告函式的時候定義,要麼先宣告,在主函式後面定義所以只在主函式後面定義,沒有宣告,編譯預處理找不到子函式會出錯這個子函式的的引數是兩個指標,那麼傳遞過去的是位址,並不是用變數接受傳遞過去的變數的值。

在c++中定義函式 void swap(int,int);為什麼括號內的引數不是int a , int b 的行式。謝謝。

5樓:網友

這是宣告,函式引數只需要給出型別,引數名可以省略,在函式體定義時則需要給出。

6樓:

這個是函式頭吧,函式頭只是宣告,可以省略變數名的。

7樓:網友

在頭函式中,不必宣告變數的變數名,只要變數型別。

8樓:網友

這是函式宣告括號內只需要形參,不需要實參,函式定義的時候,實參跟形參才要都寫出來。

為什麼這個是錯誤定義的函式 void swap(int x,int y) { int t

9樓:匿名使用者

這個swap函式,其裡面的x,y值確實交換了,但傳進來的實參x,y其實沒有交換。其原因是函式呼叫使用傳值的方式傳入引數,相當於函式swap中的x,y是另外拷貝的兩個值相同變數,與實參無關。

void swap(int *x,int *y)

c語言,在void swap(int *p1,int *p2);中,形參是值,而在swap(p1,p2);中,實參是位址,這樣不是不一致嗎

10樓:左右

void swap(int *p1,int *p2);

這個語句中的形參是p1和p2,單獨將他們兩個的宣告拿出來看就很清晰了:

int *p1;

int *p2;

很明顯,p1,p2都是指向int型別的指標變數;

所以你的。c語言,在void swap(int *p1,int *p2);中,形參是值,這句話是錯誤的,形參是指標;

相應的而在swap(p1,p2);中,實參是位址這句話沒有錯;

所以給指標賦值乙個位址,是沒問題的。

11樓:濮方雅

在void swap(int *p1,int *p2);中,形參是值。

》這句話不對,你要把int *看成 對p1的定義,形參是p1,p1是個指向int型別的指標,這麼來理解才是對的。

12樓:匿名使用者

你怎麼又來了,剛剛不是告訴你形參已經說明型別了麼。

為什麼用指標形式寫函式就有返回值能力了? void swapint(int *a,int *b)

13樓:喵不語

不用指標,是值傳遞,用指標是位址傳遞。

14樓:張未來

為什麼用指標形式寫函式就有返回值能力了? 這句我也搞不懂你問的是什麼。。

你寫的這個交換值的函式,不是交換了值那麼簡單,他將位址交換了。你仔細看下面的**和執行結果。

#include

using namespace std;

void swap1(int *a,int *b){int temp;

temp=*a;

a=*b;b=temp;

cout<<"在引數是指標的函式中,交換值後:a="<<*a<<",b="<<*b<

15樓:網友

指標判斷是時位址,而不是值,懂了嗎?你只傳參無法改變實參,只能改變形參,實參必須傳指標進去才能改變哦,你可以除錯看看記憶體就懂了。

c++的乙個格式問題

16樓:網友

最後乙個正確。

void swap(int a,int b)其他沒有形式引數。

void swap(int ?,int b)void swap(int a,int ? void swap(int ,int )

17樓:

在定義函式是都是可以的,不過在寫函式時要用。

void swap(int a,int b)

18樓:網友

最好用void swap(int a,int b)

比較規範的格式。

19樓:蝶舞聆聽

void swap(int a,int b) 正確行參要寫引數及型別。

呼叫時可以不寫型別。

如:swap(a,b);

int &fun(int&)和void swap(int&,int&)都是引用函式,為什麼第乙個函式名前有&而

20樓:網友

第乙個是返回引用的函式,返回值是某int變數的別名。

第二個是void型函式,也就是空型函式,沒有返回值。

請問c++中 void swap(int &a,int &b) &是什麼意思?謝謝

21樓:網友

引數裡面的&表示引用型引數。

一般的引數傳遞的時候,形參是實參的副本,也就是說,形參雖然和實參一樣,但是在記憶體中的位置不同。

而引用型引數,在函式引數傳遞的時候,並不要複製引數,形參和實參在記憶體中是同乙個位置,因此修改形參,實參也變化了。

22樓:網友

& 這裡表示引用,說明需要傳遞變數給這個函式,函式中可以對引數的值進行修改。

如果沒有 &,修改的就是函式體中的臨時變數。

23樓:網友

&是位址符,整個函式定義是引數引用。

24樓:網友

&表示引用,這還是比較初步的,引用就是同名變數,引用跟指標在很多方面都是相同的。

25樓:茹果妳在

引用引數,會改變實參的值。

到底為是為知識付費,還是為 知識表演者 付費

問得好!什麼是知識?能夠改變行動的資訊才算知識。看完只是知道了,那只能算資訊。可是我們知都不知道又怎麼行動呢,所以要先知。為知識付費是對的啊,上學,培訓,看書,哪一樣不是為知識付費,以前是線下,現在也可以是線上,並且類別龐雜。得到,喜馬拉雅,一塊聽聽 收費講課大師之多,授課範圍之廣,任君挑選。但是,...

為自己祝福短文答案,為自己祝福閱讀答案為什麼反覆出現如果沒有人祝福你,那就自己祝福自己

1 女孩從成績平平到成績直線上升,從自卑到自信,她是如何實現這個轉變的?請你簡單概括。4分 答 2 請你揣摩下列句中加點詞語,並按要求完成以下兩題。4分 於是大家淡淡地笑了笑,不了了之 句中加點詞語有何表達效果?答 但女孩心中早已溢滿了幸福 句中加點詞語 溢滿 能否改為 充滿 為什麼?答 3 請說說...

什麼為我們什麼!什麼為我們什麼!什麼為我們什麼!造句

家為我們提供溫暖,學校為我們提花知識,國家為我們提供保護。不管什麼人為我們做什麼事,什麼人為我們送什麼物資,什麼人為我們創造什麼條件,我們都應該腳踏實地的完成這項艱鉅的任務。付費內容限時免費檢視 回答1 老師的一席話,使我們明確了今後的奮鬥目標。2 她在奧運賽場上的出色表現,使我們感到無比驕傲。3 ...