c 的 與 簡單總結

2021-08-07 01:13:10 字數 839 閱讀 5444

c++中的*與&對於初學者來說,確實有點讓人搞懵。因為在變數的定義和呼叫時,*和&都會表現出不一樣的含義。 一、

1.*在定義時是宣告該變數是乙個指標,例如int *p;    //那p就是乙個int型的指標。

例1:int a = 0; int *p = a;    //那p的值就是a的位址。

注:上面的int a = 0; int *p = a;實際上是int a = 0; int *p = &a;這兩者是等價的!!!

原因是int *p = &a;時,c語言本身提供了可以略去&的簡寫,但是本人不是很喜歡這樣的寫法,因為這樣會誤導初學者!

所以大家還是寫全比較規範一點,寫完int *p = &a,這樣比較好。

c++就沒有這樣的簡寫機制,大家可以測試一下。

2.*在呼叫時是指標指向的那個變數,是

取值運算子。

例2:int a = 0; int *p = &a; printf("*p = %d\n", *p); 二、

1.&在定義時是定義乙個引用,例如:int a = 0; int &b = a;那麼b就是a的引用,即b=0;如果再給a賦值a=10,則b也會變為10;如果給b賦值b=20,則a也會變為20;

2.&在呼叫時是乙個

取位址運算子

。例如:int a = 0; printf("&a = %p\n", &a);會列印出a的位址,這個位址因為變數a在各個計算機的位址的不一樣,所以列印的也不一樣。

注:&在呼叫時還有一種與運算,如:int a = 0; a&=0;    //按位與操作,這個就不細說了 三、

最近看到網上有關"c++*&符號連在一起"是什麼意思,相信大家看完了

一、二之後能自己解答出來的。

C 委託與事件區別簡單總結

前天接了個 面試,被問到事件與委託的區別,雖然一直用但真要你說有什麼區別一時半會還真說不上來。於是問google老師,得到如下答案 2.委託可以在外部被其他物件呼叫,而且可以有返回值 返回最後乙個註冊方法的返回值 而事件不可以在外部呼叫,只能在宣告事件的類內部被呼叫。我們可以使用這個特性來實現觀察者...

C 引用的簡單總結

很多函式中的引數都是值傳遞的方式,這樣函式會建立乙個臨時物件用來儲存資料,占用記憶體開銷 而引用不會,並且在特定情況下又是必須的選擇 sample code void swap int a,int b 引用引數 void main 使用引用作為引數的作用 如果希望提高程式效率,並且讓讓函式值不改變,...

C 的引用的簡單總結

很多函式中的引數都是值傳遞的方式,這樣函式會建立乙個臨時物件用來儲存資料,占用記憶體開銷 而引用不會,並且在特定情況下又是必須的選擇 sample code void swap int a,int b 引用引數 void main 使用引用作為引數的作用 如果希望提高程式效率,並且讓讓函式值不改變,...