首先這兩個均表示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的值在...