ps:話說以前竟然一直沒有關注到這個問題啊。不應該啊。
今天查了點資料,加上自己寫code的體會,說下一下,作為記錄吧。先概括一下:
點操作符 「.」用來引用普通物件。
箭頭操作符「->」用來引用指標物件。
舉例子說明一下:
比如,我有乙個物件darkray。那麼我可以通過」.」來呼叫darkray類中中的成員變數。
但是如果darkray是指標的話,就不能通過」.」來呼叫,而只能使用」->」來呼叫了。
放到c語言中不存在物件的概念的。
點操作符用得到的地方,大多在結構,比如:
struct darkray;
在程式中
darkray ****you=;
我們就可以用****you.coder來取得結構中的值。
這時是不能使用」->」來呼叫的,」->」符號指針對指標來說的。
只有在如下情況可以使用」->」
darkray* ****me;
****me->coder=2.33;
此時****me為乙個darkray結構的位址指標。所以可以使用」->」,而此時就不能使用
「.」來操作。因為」.」 「相當於」物件的成員呼叫。
不知道說明白了沒有,大概就是這個意思吧…
c 中箭頭操作符 和點操作符 的不同
乙個左邊是指標.乙個左邊是實體 如果p是指標,p function 如果p是物件,p.function 記住 必須是指標,左邊必須是物件或者結構體,一般是類物件 首先介紹一下c 中的結構。對於乙個結構來說,struct mystruct 如果有個變數mystruct s,那麼使用其中的成員元素時可以...
C 點和箭頭操作符的區別
在c 中物件可以通過 來呼叫該物件的成員變數。p.func 如果是指標的話,就不能通過 來呼叫,而只能使用 來呼叫。p func 這種情況的出現是因為使用了結構,對乙個結構來說,struct mystruct 如果定義變數 mystruct s,那麼使用其中的成員元素時可以用 s.member 1 ...
C C 中「 」操作符和「後 」操作符的優先順序
假設有如下的定義 char carr char cp carr 那麼表示式 cp 的右值是什麼呢?這個表示式在陣列遍歷的程式中非常常見,但我對於這個表示式的理解有些偏差,我一直認為它和下面的表示式是等價的。cp cp 即先對cp進行解引用操作,然後使cp指向陣列的下乙個位置。雖然說最終的結果是一樣的...