深入理解 C 指標 三 運算子 和

2021-06-16 07:15:31 字數 613 閱讀 2969

運算子&是取位址運算子,*書上叫做「間接運算子」。&a的運算結果是乙個指標,指標的型別是a的型別加個*,指標所指向的型別是a的型別,指標所指向的位址嘛,那就是a的位址。*p的運算結果就五花八門了。總之*p的結果是p所指向的東西,這個東西有這些特點:它的型別是p指向的型別,它所占用的位址是p所指向的位址。

例五:

int a=12;

int b;

int *p;

int **ptr;

p=&a;//&a的結果是乙個指標,型別是int*,指向的型別是int,指向的位址是a的位址。

*p=24; //*p的結果,在這裡它的型別是int,它所占用的位址是p所指向的位址,顯然,*p就是變數a。

ptr=&p;//&p的結果是個指標,該指標的型別是p的型別加個*,在這裡是int **。該指標所指向的型別是p的型別,這裡是int*。該指標所指向的位址就是指標p自己的位址。

*ptr=&b;//*ptr是個指標,&b的結果也是個指標,且這兩個指標的型別和所指向的型別是一樣的,所以用&b來給*ptr賦值就是毫無問題的了。

**ptr=34; //*ptr的結果是ptr所指向的東西,在這裡是乙個指標,對這個指標再做一次*運算,結果就是乙個int型別的變數。

Java 位運算子 深入理解

作用是對運算子兩側以二進位制表達的操作符按位分別進行 與 運算。而這一運算是以數中同樣的位 bit 為單位的。操作的規則是 僅當兩個運算元都為1時。輸出結果才為1。否則為0 示比例如以下 12 的二進位制為 0000 1100.5 的二進位制為 0000 0101.則 12 5 的二進位制為 000...

深入理解C 之 賦值運算子函式

1 函式返回值宣告為該型別引用,並在函式結束前返回例項自身引用即 this 只有返回引用才能進行連續賦值 2 傳入引數型別為常量引用,若果傳遞是例項,會呼叫一次複製建構函式,減少消耗,提高效率,加上const不會改變傳入例項值 3 釋放例項本身已有記憶體,避免造成記憶體洩露 4 判斷傳入例項和當前例...

深入理解 運算子的過載

今天看到這麼一道題 templateclass bignumber bignumber operator bignumber b 已知b1,b2是bignumber的兩個物件,則下列表示式中錯誤的是?a 3 3 b b1 3 c b1 b2 d3 b1題幹中的意思不就是類裡面過載了乙個 法運算子麼,...