C 中 x與0x的區別

2021-10-22 18:41:17 字數 490 閱讀 6072

首先這兩個均表示16進製制,但是用法有所不同。

\x主要是用於字元的表示

如char ch=』\xa』

那麼ch這個字元所代表的是什麼呢?

正如上面所說的\x代表的是16進製制,16進製制中的a在十進位制中代表10,那麼ch這個數就代表著序號為10的ascii碼所代表的字元,即\n換行符。

0x雖然也代表十六進製制數但是他是用於參與計算的。

0xa就是單純的16進製制的a(即十進位制的10),他沒法直接代表某個字元,如果我們要讓他成為字元,就需要將他轉化為char型別的。

同樣是換行字元,如果要用上0x就需要變成這樣:

char ch=0xa

這個式子和char ch=10沒有什麼區別。

根據上面的解釋,我們大概就明白為什麼char ch=』\xa』行,但是char ch='0xa』卻錯誤了。因為0xa代表10,這表示兩個字元。而\xa則直接被轉化成了\n。

以上均為個人理解,如有錯誤,歡迎指正!!!(請務必指正)

VS2019報錯0x系列

在進行c 開發時候,由於野指標 空指標 未初始化記憶體等原因,很容易導致記憶體錯誤,並報出特定錯誤碼。google上對上述錯誤碼的解釋如下 0xcdcdcdcd created but not initialised 未初始化的堆記憶體 0xdddddddd deleted 引用的記憶體已經 物件被...

關於十六進製制0x

0x00.在程式設計中,以0x開始的資料表示16進製制。比如0x00表示十進位制中的0,0x01表示1。0x01.0x 是後面是十六進製制數字的標示,後面是數字的主題。比如0x01其實是 0x 主題部分01,就是十六進製制的01,也就是一。如果是0x0f,那表示就是15.因為a f分別代表的是十六進...

x 與 x的區別

簡單表示式如a 或 a,這兩種寫法代表同樣的意思,比如用在常見的for語句中 但當遞增increase或遞減decrease的運算結果被直接用在其它的表示式中時,它們就代表非常不同的意思了 a 中,變數a的值先增加,然後再計算整個表示式的值,因此增加後的值被用在了表示式的計算中 a 中,變數a的值在...