分号是c语言的结束符不是分隔符,分号在C和Pascal中的区别
分號在C和Pascal中的區別
yanlb2000
在C語言和Pascal語言中,都會大量使用分號";"。比如,幾乎每個語句結束之后,都有個分號。
很多人認為,分號是語句的結束符,每個語句都必須以分號來結束,C語言和Pascal語言中都是如此。
比如,記得幾年前看到《電腦報》有一篇介紹Pascal入門的文章,就說,每個語句必須用分號結束。
但這種認識其實是不對的,C和Pascal對分號在語句分隔方面有不同的定義。
C語言規定,分號是語句的結束符。因此,每個語句必須以分號結束。
而Pascal語言規定,分號是語句的分隔符。這就不同了,按此定義,只有在語句之間,才需要用分號分隔。而如果僅僅是一條語句,或者是最后一條語句,那么就沒必要用分號了。事實就是如此。
比如,這樣的代碼是完全正確的。
procedure
TForm1.FormCreate(Sender: TObject);
begin
label1.Caption := 'Hello world.';
label1.Font.Color := clRed
end;
相反,如果在clRed后面加一個分號,嚴格說反而是畫蛇添足的。
理論上說,任何一個begin...end語句塊之間,最后一個語句都沒有必要加分號。
但是,如果加上一個分號又如何呢?一點問題都沒有。
按照Pascal語法,分號是語句分隔符,所以,如果分號后面沒有語句,那其實隱含了是一個空語句,在語法上當然還是允許的。而從實踐上來說,任何一個Pascal語法編譯器都會忽略這種"多余的"分號,將其優化掉,不作處理,也不會報錯。
我寫這些的目的,只是提醒大家,分號的區別。特別是,Pascal語言中分號是語句的分隔符而不是結束符,最后一個語句是不必加分號的。
當然,在實際編程中,完全不必拘泥于這種區別。你喜歡怎么用就怎么用,只要知道理論上有這些區別就可以了。
比如說我,寫Pascal代碼的時候,最后一個語句基本上都是加分號的。原因么:
1,
每個語句結束都加個分號,習慣了。C語言中如此,Pascal中大部分語句還是如此,寫多了,成為習慣是很自然的。
2, 編譯器會將多余的分號忽略,不會造成任何開銷或效率上的損失。
3,
為了以后在原有語句后面再添加點語句的方便。如果原來沒有最后的那個分號,添加語句的時候又不注意,編譯的時候就會出錯,少了個分隔符。雖然馬上能查出來,但畢竟多了點步驟,耽誤些時間。還不如當初就每個語句都加分號,包括最后一個語句。
所以,我對分號的態度是,知道理論上的定義和不同,就可以了。實際使用中不必太拘泥,按各人喜好,實用為上。
總結
以上是生活随笔為你收集整理的分号是c语言的结束符不是分隔符,分号在C和Pascal中的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第4节:开发微信小程序之0的突破——名片
- 下一篇: 【安全归约】第一讲 | Definiti