c 新手求教函式問題

2023-01-23 20:50:10 字數 553 閱讀 6426

1樓:匿名使用者

int & str(int x) 函式str 引數 int 返回一個 int 型的 引用

引用就是某個目標變數的「別名」(alias),對引用的操作與對變數直接操作效果完全相同

當返回一個變數時,會產生拷貝。當返回一個引用時,不會發生拷貝,你可以將引用看作是一個變數的別名,就是其他的名字,引用和被引用的變數其實是一個東西,只是有了兩個名字而已。

問題的關鍵是,當你想要返回一個引用而不是一個拷貝時,你要確保這個引用的有效性,比如:

int & fun()

這樣是不行的,因為a會在fun退出時被銷燬,這時返回的a的引用是無效的。

這種情況下,如果fun的返回型別不是int & 而是int就沒有問題了。

因此,要返回一個引用時,「臨時變數」不能是「臨時」的,至少得等函式外部使用完畢這個引用之後,才能銷燬它。

2樓:匿名使用者

&是取址符,取str的地址

後面就是一個函式而已

指標還是比較複雜的這裡可能講不清楚建議你找老師或者會的人仔細問問

c語言新手求教,C語言新手求教

沒仔細看你的程式,你考慮繁瑣了 int prime int n 這個是判斷素數的子程式 下面是反序的子程式 int fanxu int n return m 這兩個子函式放在main前面,這樣main中就不用先定義子函式了,這個是一般子函式的寫法,一般子函式放在main前面,可以節省 main中判斷...

c語言新手求教,關於c語言,新手求教!謝謝!!!

這個應該原想是將t拼接到s的後面吧?但是 while s 這裡就不對,這是一個死迴圈啊?結束不了啊?需要修改為 while s 意思是如果 s 0 則一直移動指標,直到s指向原來s的末尾。while t 這個迴圈的作用是 將t中的字元一個一個接到s的後面。這個程式還是有一個問題,不應該返回s啊?因為...

C語言新手求教

沒仔細看你的程式,你考慮繁瑣了 int prime int n 這個是判斷素數的子程式 下面是反序的子程式 int fanxu int n return m 這兩個子函式放在main前面,這樣main中就不用先定義子函式了,這個是一般子函式的寫法,一般子函式放在main前面,可以節省 main中判斷...