C語言是不是只能使用數據類型的關鍵字來定義變量?
我作為一個學過多種編程語言的人,我來回答下這個問題吧。
與python比較C語言只能使用數據類型的關鍵字來定義變量,這個主要和變成語言的設計有關,每個語言的編譯器、解釋器是不同的,如果不加關鍵字,編譯器、解釋器是無法識別的。比如python語言是一中更加簡潔的語言,這一種語言它的編譯器、解釋器會自動識別類型,所以不需要。
需要類型的原因但是C語言在設計的時候并沒有自動識別的功能,所以需要我們加關鍵字進行有效的區別。因為:
1,編譯器需要知道變量需要多大的內存空間;2,編譯器需要知道如何訪問變量。C中定義數據類型是為了容易編程,定義了數據類型之后又定義了數據類型之間的各種運算,這樣對編程人來說就會方便很多,如果不定義數據類型,那么數據之間的差別只有位不同而已,這樣如果要定義一個字符變量,你首先要去申請一個8位的內存,再去按ASCII碼對其進行賦值,這樣對編程人員來說是很恐怖的。
附錄另,轉述下 Edwin Brady 在《Type-driven Development with Idris》中的說法,類型有以下幾個重要角色:
對機器而言,類型描述了內存中的電荷是怎么解釋的。對編譯器或者解釋器而言,類型可以協助確保上面那些電荷、字節在程序的運行中始終如一地被理解。對程序員而言,類型可以幫助他們命名、組織概念,幫助編纂文檔,支持交互式編輯環境等。希望對你有幫助,歡迎討論留言!