對於char,這個字元型別。我們一般都認為就是乙個位元組。今天在仔細比較發現,c#的char和c++的char是有區別的。
1.首先來看c#中char占多大空間
居然是返回2.也就是說兩個位元組。
2. 在c++中呢?
這裡看到的結果是顯示為1個位元組
但是同時,我又想起來,c++裡面還有另外乙個char型別,也就是所謂的wchar_t,通常用來表示unicode char,它的空間是多少呢?
3. 那麼,是不是說c#中的char都是表示unicode字元的呢?
沒錯,就是這樣. 如此才能解釋得通嘛
char
關鍵字用於宣告下表所示範圍內的 unicode 字元。unicode 字元是 16 位字元,用於表示世界上大多數已知的書面語言。
型別範圍
大小.net framework 型別
char
u+0000 到 u+ffff
16 位 unicode 字元
system.char
4. 題外話:sql server 中的字元型別
我還想到,在sql server的型別系統中有下面幾個字元型別,大家也要有所比較
定長char
定長(unicode)
nchar
變長varchar
變長(unicode)
nvarchar
也就是說,在sql server中也是明確地區分unicode和非unicode的
C 和C 中char型別的區別
對於char,這個字元型別。我們一般都認為就是乙個位元組。今天在仔細比較發現,c 的char和c 的char是有區別的。1.首先來看c 中char占多大空間 居然是返回2.也就是說兩個位元組。2.在c 中呢?這裡看到的結果是顯示為1個位元組 但是同時,我又想起來,c 裡面還有另外乙個char型別,也...
C 和C 中char型別的區別
對於char,這個字元型別。我們一般都認為就是乙個位元組。今天在仔細比較發現,c 的char和c 的char是有區別的。1.首先來看c 中char占多大空間 居然是返回2.也就是說兩個位元組。2.在c 中呢?這裡看到的結果是顯示為1個位元組 但是同時,我又想起來,c 裡面還有另外乙個char型別,也...
c 中char 和 char 的區別
問題引入 在實習過程中發現了乙個以前一直預設的錯誤,同樣char c abc 和char c abc 前者改變其內 容程式是會崩潰的,而後者完全正確。程式演示 測試環境devc include using namespace std main 執行結果 2293628 4199056 abc 229...