先直接放程式吧,後面還有總結。
-------------------------------------------start-----------------------------------------------
#include
#include
int main(void)
--------------------------------------------end-----------------------------------------
總結:在c語言中,你定義乙個變數並對其進行賦值的時候,你需要意識到,這個變數初始定義的型別就包含了兩層含義了。
第一層含義:這個資料型別表示的記憶體空間的大小
第二層含義:編譯器把我設定的數值放到這個記憶體空間是,是怎麼把我的資料解析成二進位制後再存進去這個記憶體空間的呢?是按照你說設定的
資料型別的儲存方式解析後存進去的。比如儲存方式有整形的(int, short, char )、float型 的、double型的。
進行強制型別轉換後,記憶體空間裡面的內容是不會發生改變的,改變的是你去讀取這個記憶體空間時的解析方法。如果你讀取時的解析方法
和你存進去時候的解析方法不一致就會導致資料錯誤(當然整形的強制型別轉換未必會出錯,只要是小的記憶體空間往大的記憶體空間裡面轉,應該問題就不大)。
所以,進行強制型別轉換到額時候,一定要對這個資料型別有乙個清晰的認知(包括記憶體空間和解析方式)。
C語言中的強制型別轉換
強制型別轉換的一般形式為 型別說明符 表示式 例如 float a 把a轉換為浮點型,int x y 把x y的結果轉換為 整型 強制型別轉換是通過型別轉換運算來實現的。功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。注意事項 型別說明符和 表示式都必須加括號 單個 變數可以不加括號 如把...
C語言中強制型別轉換的總結
字元型變數的值實質上是乙個8位的整數值,因此取值範圍一般是 128 127,char型變數也可以加修飾符unsigned,則unsigned char 型變數的取值範圍是0 255 有些機器把char型當做unsighed char型對待,取值範圍總是0 255 如果乙個運算子兩邊的運算數型別不同,...
c語言強制型別轉換
例子 include輸出結果 the char is p the short is 4464 the int is 70000 the float is 70000.000000 問題 為什麼float 型別的70000 轉成char型變成了 p 首先資料型別本質是什麼?底層硬體最小的儲存單元只有開...