C語言沒有引用,C 才有引用

2021-06-07 13:09:12 字數 842 閱讀 3562

如果用函式傳遞引數,實現改變某個數的值。

若用c語言,則傳遞乙個指標值(位址),在函式裡把指標所指向的內容重新賦值,指標值不會變。

#includeint change(int *i)

int main()

若用c++語言,則可以用 」引用引數「 

#includeint change(int &i)

int main()

c語言使用者真心覺得不太習慣c++的這個特性。

深入一步,如果是要改變或建立乙個struct指標型別的節點(例如鍊錶節點、二叉樹節點)

c語言

#include#includestruct tree

;int createtreenode(struct tree **p)

int main()

c++語言

#include#includestruct tree

;int createtreenode(struct tree * &p)

int main()

當然,c++相容c的語法,也就是說以上的**都可以在c++裡執行。

還有乙個關於gcc編譯器,怎樣用c編譯器,怎樣用c++編譯器。

(1)用c編譯器的情況: gcc text.c

(2)用c++編譯器的情況: g++ test.c 或者 g++ test.cpp 或者 g++ test.c   (也就是用g++命令或者原始檔字尾是cpp,則預設是用c++編譯器)

c語言引用

引用簡介 引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 例1 int a int ra a 定義引用ra,它是變數a的引用,即別名 說明 1 在此不是求位址運算,而是起標識作用。2 型別識別符號是指目標變數的型別。3 宣告...

c中沒有傳引用,傳引用是c 的概念

c中只有傳值方式,傳位址 指標 實際上也可以理解為傳值 位址的拷貝 無傳引用 c 中有傳引用。可以理解為起別名,當然底層是指標實現的 好處是方便操作,無需解引用就可實現指標操作 下面有例子 以下cpp include void change int a int b using namespace s...

c語言 解引用

最近接觸到了乙個新的概念,叫 解引用 就是在函式傳參時,如果傳入的是指標,在函式體中未對它解引用,那麼,這個指標指向的值就不會發生改變。引用別人部落格中的概念 參考這三篇部落格,感謝他們。首先,我們來看swap的常見錯誤用法。void swap int p1,int p2 void swap err...