為什麼c 的指標那麼難學?

2021-09-02 14:27:19 字數 592 閱讀 4335

指標本身是乙個很淺顯的概念,它就是代表了記憶體中的乙個位址

通過這個位址 就能獲取這個位址上儲存的資料

嗯,很簡單的道理。

但為何寫起**來就感覺被漿糊團團圍住?

因為語言發明者給剛入門的程式設計師搞了乙個非常不友好的設定

兩個意思相近但其實很不一樣的操作符 卻用了同乙個符號!

在宣告乙個變數名字是什麼型別的時候

*這個符號 代表了你宣告的這個變數名字 是乙個指標

當宣告完成後,這個名字就是他了!這個名字出現的地方就是他!

比如int* ptr;  這個宣告以後 ptr出現的地方 就表示你在操作乙個名字叫做ptr的int指標

你可以對他賦值 讓他重新代表其他位址 ptr=******;

你可以對他解引用,取出他位址上的內容  *ptr

注意了,這個地方*表示的是解引用操作符,它和宣告時表示指標的* 是兩種不一樣的符號

這就是坑點,同樣是*  卻是兩種操作符

所以,對&這個符號的理解也可以參照*來進行

在宣告時 &表示你宣告的名字是個引用  而不在宣告時 表示對操作的那個變數取位址

總之,注意下 兩個意思的操作符 卻用同乙個符號  很狡猾!

C 難學嗎?為什麼難學?如何去學?

c 難學嗎?為什麼難學?如何去學?經常上網,發現最多人問的問題就是c 難不難學。而得到的回答卻基本上是說很難學,甚至有說要兩年才算入門。我開始是學vb的,現在轉學qt。談談我對c 的看法。1 入門興趣和方向 2 教材及細節 網上找一下vb的教材,都是一些基本的語法,從來不介紹更為底層的實現和細節。更...

為什麼 CSS 這麼難學?

使用谷歌瀏覽器進行除錯,在屬性不理解時可以直接在瀏覽器裡進行數值調節 css在書寫時由於選擇器權重問題經常出現樣式覆蓋的問題 如果你的選擇器書寫正確,並且被劃掉了。那應該就是權重不足導致的 下面是看起來很複雜的權重規則。權重規則 html標籤 型別選擇符 的權重是1,class的權重是10,id的權...

為什麼那麼恨android

我不是果粉,但是,我很喜歡賈伯斯,是個喬粉 我是android開發者,從不動ios開發,目前為止 android的開發策略,導致碎片化日益的嚴重,給你舉一些例子 關於適配 同一套 在配置不高的huawei 8800 上執行流暢,但是在samsung s3上非常的卡頓,原因僅僅是乙個顯示api 你要呼...