幾乎每次講課講到指針和數組時,我總會反復不停的問學生:到底什么是指針?什么是數組?他們之間到底是什么樣的關系。從幾乎沒人能回答明白到幾乎都能回答明白,需要經歷一段“慘絕人寰”的痛。
指針是C/C++的精華,如果未能很好地掌握指針,那C/C++也基本等于沒學。可惜,對于剛畢業的計算機系的學生,幾乎沒有人真正完全掌握了指針和數組、以及內存管理,甚至有的學生告訴我說:他們老師認為指針與數組太難,工作又少用,所以沒有講解。對于這樣的學校與老師,我是徹底的無語。我沒有資格去譴責或是鄙視誰,只是竊以為,這個老師肯怕自己都未掌握指針。
大學里很多老師并未真正寫過多少代碼,不掌握指針的老師肯定存在,這樣的老師教出來的學生如何能找到工作?而目前市面上的書對指針和數組的區別也是幾乎避而不談,這就更加加深了學生掌握的難度。我平時上課總是非常細致而又小心的向學生講解這些知識,生怕一不小心就講錯或是誤導了學生。還好,至少到目前為止,我教過的學生幾乎都能掌握指針和數組及內存管理的要點,當然要到能運用自如的程度還遠遠不夠,這需要大量的寫代碼才能達到。另外需要說明的是,講課時為了讓學生深刻的掌握這些知識,我舉了很多各式各樣的例子來幫助學生理解。
所以,我也希望讀者朋友能好好體味這些例子。三個問題:
A)
什么是指針?
B)
什么是數組?
C)
數組和指針之間有什么樣的關系?
指針是C/C++的精華,如果未能很好地掌握指針,那C/C++也基本等于沒學。可惜,對于剛畢業的計算機系的學生,幾乎沒有人真正完全掌握了指針和數組、以及內存管理,甚至有的學生告訴我說:他們老師認為指針與數組太難,工作又少用,所以沒有講解。對于這樣的學校與老師,我是徹底的無語。我沒有資格去譴責或是鄙視誰,只是竊以為,這個老師肯怕自己都未掌握指針。
大學里很多老師并未真正寫過多少代碼,不掌握指針的老師肯定存在,這樣的老師教出來的學生如何能找到工作?而目前市面上的書對指針和數組的區別也是幾乎避而不談,這就更加加深了學生掌握的難度。我平時上課總是非常細致而又小心的向學生講解這些知識,生怕一不小心就講錯或是誤導了學生。還好,至少到目前為止,我教過的學生幾乎都能掌握指針和數組及內存管理的要點,當然要到能運用自如的程度還遠遠不夠,這需要大量的寫代碼才能達到。另外需要說明的是,講課時為了讓學生深刻的掌握這些知識,我舉了很多各式各樣的例子來幫助學生理解。
所以,我也希望讀者朋友能好好體味這些例子。三個問題:
A)
什么是指針?
B)
什么是數組?
C)
數組和指針之間有什么樣的關系?