C語言雖然具有功能強、靈活性大、可移植性強、應用廣泛等優(yōu)點,但是同時也存在著一定的缺點,導致在學習和編程時造成一定的困難和錯誤。那么在編程時應該如何規(guī)避C語言的不足之處呢?
專家解答:
C語言是一門非常流行的編程語言,被許多平臺選用,具有許多的優(yōu)點。然而,正如人們常說的"事物都具有矛盾性",有利必有弊,在看到其種種優(yōu)點之時,千萬不要忽視其存在的不足和缺陷。下面的分析不是為了打擊大家學習C語言的積極性,而是為了使大家更好地了解和學習C語言。
(1)C語言語法限制不太嚴格,程序設計自由度大。"限制"與"靈活"是對立的,強調"靈活"就會放松"限制"。這就對使用C語言進行編程提出了更高的要求,程序員要對程序設計更熟悉。例如,C語言對數(shù)組下標越界不檢查,容易造成數(shù)據(jù)在內(nèi)存中的混亂。
(2)C語言具有豐富的運算符,多達34種。豐富的數(shù)據(jù)類型與豐富的運算符相結合,使C語言具有表達靈活和效率高等特點。然而,這卻增加了使用C語言的難度,這些運算符分為眾多優(yōu)先級,不容易記憶,可能混淆而產(chǎn)生錯誤。
(3)C語言存在著一些不應該存在的語法限制。例如,switch語句由case結構組成,每個case結束之后都要使用一個break來跳出case結構,否則將會繼續(xù)執(zhí)行下面的case,這樣就會造成錯誤。
(4)C語言中許多運算符被"重載",具有不同的意義,甚至有些關鍵字也具有好幾種意義。例如,void作為函數(shù)的返回類型,表示不返回任何值;在指針聲明中,表示通用指針類型;在參數(shù)列表中,表示沒有參數(shù)。
專家點評:
盡管C語言存在著諸多不足,但無法掩蓋它的優(yōu)勢,當今的許多軟件仍在使用C語言進行開發(fā)。大家需要經(jīng)過長時間的開發(fā)積累,記住C語言的這些特點,才能更靈活地應用C語言進行開發(fā)。