為什麼程式語言的都要定義資料型別

2021-09-12 17:43:50 字數 779 閱讀 7390

對於乙個程式設計師來講,寫**的第一件是請,恐怕就是需要定義一些資料型別。而程式本身,就是對這些資料型別進行操作,有沒有人思考過,為什麼每種語言編寫的程式,開始都需要定義資料型別呢?

以下面的c**為例,我們來說明這個問題:

#includeint main()

這段**非常簡單,定義了四個資料,兩個型別。大家看,a=a+b;和a1=a1+b1;這兩個語句,幾乎一樣,那麼,我問你,這兩個語句,在編譯時,編譯器會用同一段**來替換這兩個語句嗎?

顯然不可是同一段**,因為浮點數和整數,在計算機裡面,使用了不同的處理器,整數使用普通的cpu,而浮點數必須使用浮點運算器。所以,這兩句話,產生的機器**完全不同!

那麼問題來了,編譯器如何知道,在碰到兩個數相加的時候,是使用浮點運算器的機器指令,還是使用普通cpu的機器指令?此時,編譯器就會檢查進行加法操作的兩個加數的資料型別,根據他們的資料型別,來確定到底使用哪乙個運算器的機器**。此時,資料型別定義的意義就凸顯出來了。

總結:通過上述簡單的描述,我們就能夠清楚,任何程式語言(除了彙編,彙編只規定資料的字長),都會有自己的資料型別,資料型別背後,隱藏的是編譯器或者直譯器對資料處理方式的定義。知道了這個以後,我們在定義資料型別的時候,就應該知道,我們定義的這種資料型別,可以進行哪些操作,這些操作的規則是什麼,這樣我們才算真正掌握了這個資料型別。

更高階的語言,例如c++可以定義自己的資料型別和資料型別的演算法,類的過載操作符就是乙個例子。

為什麼程式語言的都要定義資料型別

對於乙個程式設計師來講,寫 的第一件是請,恐怕就是需要定義一些資料型別。而程式本身,就是對這些資料型別進行操作,有沒有人思考過,為什麼每種語言編寫的程式,開始都需要定義資料型別呢?以下面的c 為例,我們來說明這個問題 includeint main 這段 非常簡單,定義了四個資料,兩個型別。大家看,...

為什麼人人都要學程式設計

如果你對 猩球崛起 這部電復印象深刻,你一定不會忘記黑猩猩凱撒是如何一步一步從猩猩變成和人類相似,甚至智力超越大部分人類的智慧型生物。其中人類是如何判斷出猩猩的智力達到和人類相似的水平呢?那就是漢諾塔的遊戲,如果在一段時間內,可以達到了15步就完成遊戲,那麼就認為猩猩的智力已經達到人類的水平。為什麼...

為什麼人人都要學程式設計

如果你對 猩球崛起 這部電復印象深刻,你一定不會忘記黑猩猩凱撒是如何一步一步從猩猩變成和人類相似,甚至智力超越大部分人類的智慧型生物。其中人類是如何判斷出猩猩的智力達到和人類相似的水平呢?那就是漢諾塔的遊戲,如果在一段時間內,可以達到了15步就完成遊戲,那麼就認為猩猩的智力已經達到人類的水平。為什麼...