c++是我們許多人在步入程式設計的時候的第乙個入門語言。但是,這個語言當中也有好多難以理解的概念。在這裡簡單介紹一下兩種位址符號。
在介紹這兩個符號之前,我們先說明一下c++當中的兩個概念,變數和位址。
變數裡存在兩個值,乙個是變數在記憶體中存著的位置,也就是位址,另外乙個就是這個變數的值,存在記憶體當中。
另外乙個是位址,只記錄位址資訊。
這個符號在運算當中用於計算位運算的「且」。同時也可以對變數應用**(只能對變數應用,不能對位址使用)**,被&修飾的變數的含義是這個變數的位址。
int main()
用乙個便於理解的話來說,可以理解位址符&是乙個c++自帶的函式,它的作用是求出乙個變數的位址。
如果用&來修飾函式的形參的話,則表示直接取這個數的位址
void swap(int &x,int &y)
int main()
我們都知道,函式的形參是將實參的值拷過來,形成乙個副本,在使用位址符&修飾之後,我們傳過來的是這個實參的位址,而最後的結果就是,我們在函式當中,可以直接對這個實參進行修改了,比如以上這個交換函式,就是利用這個原理。
這個符號除了在運算上代表乘法以外,同時也可以對指標使用**(不能對變數使用)**
注:指標不能被賦值為整數,不能手動賦值,編譯器會報錯,面試可能會問到
#includeint main()
被「*」修飾的位址的含義是,這個位址所指向的記憶體位置的值,或者我們可以理解這是乙個能夠求出指標指向的數的值的函式。我們來看一下在函式當中的作用
void print(int *x)
int main()
當函式形參是int型別指標的時候,我們傳進去的,也是指標,想要讀取指標所指向的內容,就需要使用指標符號修飾。雖然感覺花裡胡哨的,只要明白原理,就不會被迷惑。 C 中 和 的使用
和 在巨集定義 define 中經常可以看到,是預編譯過程中的常用語句,本文記錄了本人探索 和 區別以及使用的內容 先簡單的將這兩個符號進行標籤化,然後再記錄具體實驗。轉換,完成 到字串的轉換 連線,完成 的連線 示例 1.轉換 為字串 define convert name name int ma...
C 中 和 的使用
和 在巨集定義 define 中經常可以看到,是預編譯過程中的常用語句,本文介紹 和 的區別。先簡單地將這兩個符號進行標籤化,然後再記錄具體實驗。轉換,完成 到字串的轉換。連線,完成 的連線。和 運算子 構串操作符 構串操作符 只能修飾帶引數的巨集的形參,它將實參的字串行 而不是實參代表的值 轉換成...
C 中 和 的使用
和 在巨集定義 define 中經常可以看到,是預編譯過程中的常用語句,本文記錄了本人探索 和 區別以及使用的內容 先簡單的將這兩個符號進行標籤化,然後再記錄具體實驗。轉換,完成 到字串的轉換 連線,完成 的連線示例 1.轉換 為字串 cpp define convert name name int...