C引用返回值與返回指標

2021-06-25 14:47:34 字數 603 閱讀 1235

1樓:匿名使用者

int * d = &c;

也就是*d就等效於c了啊

也就是return *d;

就等效於

return c;

2樓:匿名使用者

*d是指標d指向的資料,你的寫法中,指標d指向了引用c的位置,其實也就是傳入實參a的地址空間上的資料,故而是一直存在且可以正確返回的。如果你在k()函式內部不是使用傳輸的c(也就是換個變數名,什麼都行),那自然就不可以了,出了這個函式就被釋放了

3樓:匿名使用者

return *d;你返回的是指標d指向的值,並不是返回的指標...return d;才是返回的指標 int*...而你h函式返回值型別是int& 也相當於int 這時候編譯的話c++應該會報錯,因為c++編譯器檢查型別很嚴格 c編譯器裡面雖然沒有引用,int* 返回成int 可能會報警告,因為指標儲存的地址也是一個數..

有的會報錯...

區域性變數是不能返回成引用的...引用的實質相當於給變數弄了個別名,然後通過別名去找這個變數...而區域性變數的記憶體空間在函式結束後就被**了,也就是這個變數不存在了,那麼它的別名還有什麼意義....

c關於類函式返回值c關於模板類函式返回值

請問你要返回哪個類的物件?返回什麼型別就寫什麼就行了,以下寫法都是可以的 include include using namespace std template class car int main 好像在類裡都可以省略,我在dev cpp 4.9.9.2和visual studio 2012裡都...

c語言中的返回值

其實你的概念一定要清楚的哦,像這種問題得分兩個情況來考慮的 首先看函式的行參,如果是陣列型別或者是指標型別的,可以斷定為 地址傳遞 也就是說,一旦主函式呼叫該函式時,函式間是存在地址傳遞的,把要進行處理運算的主函式的內容的地址傳遞給函式,參與運算的資料其實就是主函式中的實參的內容,簡單來講,就是行參...

C語言中什麼是函式的返回值

當一個函式不是void型的時候就必須有一個返回值 main 函式除外,這個返回值就看你這個函式本身是什麼型的。返回值經常用來標誌一些東西,比如一個遊戲程式中的函式int win 用來判斷輸贏,輸返回0,贏返回1,然後主調函式可以根據它的返回值做相應的處理,比如這樣的句子 if win speed 進...