## 現在刷題hdu弄了100道,準備進學校acm集訓隊,但是在刷題的程序中,發現思路比較少,去看題解又覺得沒成就感,雖然看了別人的代碼真的是美觀,少且易懂,不像我,一堆判斷,正在學指標,希望有個方向,能夠更好的處理問題!
uj5u.com熱心網友回復:
1 系統學習各種演算法2 多讀題 分析 這種題 是什么型別
3 多寫 一種型別 的解題思路多寫幾次
uj5u.com熱心網友回復:
想要從本質上理解C指標,必須學習匯編以及C和匯編的對應關系。從匯編的角度理解和學習C語言的指標,原本看似復雜的東西就會變得非常簡單!
指標即地址。“地址又是啥?”“只能從匯編語言和計算機組成原理的角度去解釋了。”
但我又不得不承認:
有那么些人喜歡或者適合用“先具體再抽象”的方法學習和理解復雜事物;
而另一些人喜歡或者適合用“先抽象再具體”的方法學習和理解復雜事物。
而我本人屬前者。
不要企圖依賴輸出指標相關運算式...的值【比如printf("%p\n",...);或者cout<<...】來理解指標的本質,
而要依賴除錯時的反匯編視窗中的C/C++代碼【比如void *p=(void *)(...);】及其對應匯編指令以及記憶體視窗中的記憶體地址和記憶體值來理解指標的本質。
這輩子不看記憶體地址和記憶體值;只畫鏈表、指標示意圖,畫堆疊示意圖,畫各種示意圖,甚至自己沒畫過而只看過書上的圖……能從本質上理解指標、理解函式引數傳遞嗎?本人深表懷疑!
這輩子不種麥不收麥不將麥粒拿去磨面;只吃饅頭、吃面條、吃面包、……甚至從沒看過別人怎么蒸饅頭,壓面條,烤面包,……能從本質上理解面粉、理解面食嗎?本人深表懷疑!!
提醒:
“學習用匯編語言寫程式”
和
“VC除錯(TC或BC用TD除錯)時按Alt+8、Alt+7、Alt+6和Alt+5,打開匯編視窗、堆疊視窗、記憶體視窗和暫存器視窗看每句C對應的匯編、單步執行并觀察相應堆疊、記憶體和暫存器變化,這樣過一遍不就啥都明白了嗎。
(Linux或Unix下可以在用GDB除錯時,看每句C對應的匯編并單步執行觀察相應記憶體和暫存器變化。)
想要從本質上理解C指標,必須學習C和匯編的對應關系。”
不是一回事!
不要迷信書、考題、老師、回帖;
要迷信CPU、編譯器、除錯器、運行結果。
并請結合“盲人摸太陽”和“駕船出海時一定只帶一個指南針。”加以理解。
任何理論、權威、傳說、真理、標準、解釋、想象、知識……都比不上擺在眼前的事實!
uj5u.com熱心網友回復:
電腦記憶體或檔案內容或傳輸內容只是一個一維二進制位元組陣列及其對應的二進制地址;人腦才將電腦記憶體或檔案內容或傳輸內容中的這個一維二進制位元組陣列及其對應的二進制地址的某些部分看成是整數、有符號數/無符號數、浮點數、復數、英文字母、阿拉伯數字、中文/韓文/法文……字符/字串、匯編指令、函式、函式引數、堆、堆疊、陣列、指標、陣列指標、指標陣列、陣列的陣列、指標的指標、二維陣列、字符點陣、字符筆畫的坐標、黑白二值圖片、灰度圖片、彩色圖片、錄音、視頻、指紋資訊、身份證資訊……
十字鏈表交換任意兩個節點C源代碼(C指標應用終極挑戰)http://download.csdn.net/detail/zhao4zhong1/5532495
uj5u.com熱心網友回復:
資料結構對單鏈表進行資料排序 http://bbs.csdn.net/topics/392201633A[B]
*(A+B)
*(B+A)
B[A]
//以上四行等價
"abc"[1]
*("abc"+1)
*(1+"abc")
1["abc"]
//以上四行等價
A[0]
*(A)
0[A]
//以上三行等價
uj5u.com熱心網友回復:
可以,明白了??
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/241610.html
標籤:C語言
