❶ 為什麼c語言指針那麼難
指針確實難於理解。指針具有兩個身份:
第一,指針本身是一個變數。只要是是變數,它就佔用內存地址。當然如果沒有分配內存地址,不在其內。
第二,指針包含一定的一個內容。指針所特殊的就是,他的內容保存的是其他變數的地址。
以上兩點可以通過書中的示例7-7有比較好的體現。
例如,定義指針變數intp1。 intp1=&a 就表示 intp1保存的信息為a的地址。
而*intp1表示是intp1所保存地址的內存單元所保存的值,實際就是a的值。
所以,你給出的 *intp1=&a; 是一種不太合適寫法。我們可以這樣假設,再給一個變數b。令*intp1=b=&a,則
b=&a,說明b保存的a的地址,這樣b就是一個指針。那*intp1=b,則說明 intp1所保存的地址指向的內存單元為b。所以,intp1可以看成a的指針的指針。
上面這個例子比較繞,慢慢想想,就理解了。
❷ C語言學到指針這個地方有點困難了,該怎樣學,抓住什麼關鍵點啊。
指針的話確實是C中最難得一塊了,指針的本質是地址,要好好理解這個。一般指針在數組或是鏈表什麼的用的比較多。數組的話可以對比一下用下標和用指針的區別,從而加深理解。當然,編程這個東西我覺得還是應該多練,多上機實踐。
❸ C語言和C++的指針到底有多難
有人說難有人說不難,關鍵你怎麼去理解指針 在我學習的時候就一點兒困難也沒有,反而覺得它非常的好用 學習指針前,你要了解一下內存,知道cpu怎麼得到數據 ,那麼一切就easy了 提示一下 指針當作普通變數理解就可以,只是它所存儲的是一個內存地址 ,然後你結合 * ,& 的效果一看,指針非常的簡單
❹ 在C語言中,到底是指針難 學還是演算法難學
從本質上來說,這應該屬於一個偽命題。這兩樣東西是不應該被放在一起比較的。
指針是被設計來解決具體的問題的,就好象是一件工具,要想生產一輛汽車,你沒有水壓機,用錘子也能敲一輛出來。只不過慢一點而已。
但如果沒有設計圖紙,不了解發動機的工作原理,想要憑小學水平獨立作一輛汽車,基本上不可能。
水壓機就類似於指針,工作原理就類似於演算法。
實際上也是如此,許多語言(例如JAVA)都沒有指針的概念,但也工作的很好。
回到哪個更難的問題。實際上,任何人經過一段時間的訓練後,都要以比較嫻熟的掌握指針的常用用法,並徹底了解指針的概念。但演算法不同,沒人敢說自己對所有演算法都掌握並能熟練運用了。
同樣,在C語言中,對指針本身的研究基本停止了,畢竟這只是一個工具,就象沒人肯研究錘子本身一樣。人們主要研究的還是演算法方法的東西。也就是怎麼把工具用的更好。
所以,演算法難學
❺ c語言指針,下面這題看不懂,求解😭
while (*y++)
因為++運算符優先順序比*高,所以先對指針y加1,再取出指針y指向的 字元
如果取出的字元不為0( ) 就循環
因為字元串數組 a[]={hello} 是依字元'