學習C語言卡在一部分難以理解如何度過?

時間 2021-05-29 22:23:01

1樓:

建議你看:Pointers and Memory

The silly Binky Pointer Fun video -- animated introduction to pointers

2樓:車卡門

我是一名工作了多年的C語言軟體工程師。

我來告訴你乙個很好的辦法,就是除錯。寫乙個有指標的 Test 程式,然後用 VS debug, 在指標那裡加斷點,看記憶體,你會發現它其實就是乙個位址。

關於C語言,任何不懂的都可以用此方法。

很多答主說什麼多看看書,多動動腦,顯得太過空洞了。還是 debug 最實在。

一般人我不告訴他。

3樓:

看很多人是從底層去理解指標幹什麼用的,其實也可以先學簡單的高階語言Python等,看看「傳引用」是幹嗎用的,然後想想C語言有什麼對應機制實現/模擬這些功能就清楚了。

4樓:

知道怎麼用就好了吧,我是用C++ primer plus學的C++,感覺指標用中文不好說,用英文可以理解成something to link,作用是可以和其他東西連在一起

5樓:張睿

指標的問題,的確不是光是C語言學完就好理解的,當時我學的時候也是半天想不明白為啥有了資料,還費里吧唧的用位址去轉換一道定址找到資料什麼理由,這個上面來說,譚浩強的那本其實平鋪直敘沒有好好講清楚,當然他也不好講清楚,因為理解指標不能只是理解C語言,最好和作業系統,記憶體分配這些知識一起學習,才能豁然開朗,不理解沒關係,堅持學習,慢慢應用,總會之後遇到更複雜的系統時候慢慢想清楚

6樓:韓佳文

這樣想吧,記憶體空間就是電腦裡的房子,每個房子都有自己的門牌號。這個指標就是門牌號。通過門牌號你才能找到每乙個房子的位置以及裡面的內容。指標就是記憶體位址,找到位址了才能訪問內容。

7樓:

指標是用來存放位址的,位址具有指向作用,亦可以說成指標具有指向性,當你定義了乙個int *p ; p =&a;時,p是int * 型別的變數,p裡面裝的是a變數的位址,它會指向那個a變數,但是不能訪問a變數裡面的值,如果想訪問a變數的值,*p才可以訪問,所以一般認為*p == a,*是&的逆運算。

8樓:Andero

不太懂可以先留著,學了彙編回頭再看一遍,還不理解的話等學完資料結構(大多是指標操作和實際應用)和計算機組成原理(軟硬結合,理解記憶體位址操作)然後就應該很清醒明了了,如果萬一還不懂,這個時候應該是大二上,轉專業還來得及,另外買幾本這方面「好的書」很關鍵

9樓:Vero Zhang

自從把程式設計習慣從int *p改成int* p之後再也沒有出現過這類問題。

再加兩句:

一,這麼寫之後盡量杜絕一行定義多個變數的習慣;

二,Pointer on C是一本好書。

10樓:法號桑菜

我知道很多人會說去看計算機原理,彙編啥的。學這些可以幫助你理解指標,但是如果真是只是想理解指標,只是一小時的事。計算機原理和彙編,大概可以花一小時挑一本合適的教材吧。科科。

劉慈欣《朝聞道》最後一部分怎麼理解?

汪氏亦鳴 有沒有可能,我是說,有沒有可能劉慈欣在諷刺霍金呢?因為最後一段讀起來有些突兀。宇宙的目的是什麼?這應該是乙個哲學問題,而非科學。按照觀察者說的,宇宙會走向毀滅。就好像人一定會死一樣,這個問題和人活著的意義是什麼一樣荒誕? 靈劍 就是為了在現有基礎上再拔高一下主題,朝聞道 的主要內容是講科學...

只想看一部分動畫的本子而拒絕看另一部分動畫的本子是不是很奇怪?

柚子P社的四季姬 你這個角度實在是有些刁鑽,如果是我的話我會說 我會看某部動畫的一部分同人本 純愛,M,足,觸手之類的 而不看這部動畫的其他型別的同人本 比如說S,血腥,肢解之類的喪病本 但是我不會說哪個看哪個就不看了,這種事情還是要一視同仁的,識得唔識得噶? 我是覺得,在不給別人添麻煩的情況下,不...

泡茶時為什麼一部分茶葉會上浮,另外一部分會下沉?

立七在品茶 茶接觸水以後,密度大於水就會下沉,每片茶和水的接觸時間不同,所以有的上有的下。如果是密度大於水的揉捻型茶葉,則一泡就沉入水底 遠夢家紡官方旗艦店 這個問題可以從物理角度去解釋 茶葉的沉浮與自身的密度有關。基本理論 密度大於水的密度,就會出現下沉,小於水的密度就會上浮。沉底的茶葉一般比較飽...