C中怎樣用定義單個位元組,C 中在控制檯上如何限定位元組!

2022-08-20 18:21:58 字數 1192 閱讀 8952

1樓:匿名使用者

byte應該是位元組。

char應該是字元。

string,應該是字串。

三者之間區別

char 在c#中是值型別(value type)。因此,一個 char 型別的物件所佔用的控制元件總是確定的(不要認為是1個位元組!byte才是)。

它永遠是2個位元組(因為其定義就是16位unicode字元,詳見msdn)。

byte 是位元組型(0 - 255)

在參與算術運算是char型別會自動轉為整型;如字元a會轉為對應ascii碼65.

char是用來表示一個字元,而不是一個字,因為一個字要佔用兩個位元組。而儲存一個ansi字元只需一個位元組。注意,強調是ansi字元,而不是unicode字元。

因為unicode要佔用兩個位元組。

byte型別是最自由的一種。它就佔用一個位元組,但沒有定義這個位元組拿來幹什麼。char定義為一個unsigned byte型別。

也就是無符號的一個位元組。它將一個位元組的8位全佔用了。可以表示的資料範圍是0到255之間。

c#中,string是引用型別(reference type,即使在某些方面有一定值型別的特點)。因此,string物件佔用的空間是可變的,理論上只受記憶體限制,也無法通過 sizeof 來取得的。

其用法當然也是眾所周知的:

1、char 型別用單引號和一個字元來表示,例如: 'a' ,或者 '謝' 。那麼要表示多個字元怎麼辦,就用字元陣列 char 就可以了。

這裡還需要注意一個問題,就是c++裡面將一個漢字賦值給一個char型別變數會丟失資訊(因為其只佔用1個位元組),而應該用wchar_t型別。

2、string 型別用雙引號表示,例如:"你好再見。"

2樓:匿名使用者

這個提問好奇怪

通過位元組長度進行判斷吧

byte bytestr = system.text.encoding.unicode.getbytes(str);

messagebox.show(bytestr.length.tostring());

3樓:陽光的雷咩咩

要定義位元組就只有用byte。

c#中在控制檯上如何限定位元組!

4樓:放羊的小星星

你還是去學習一下基礎知識吧,基礎知識很差就去談及資料庫了。

C語言書上說在C 6 0中int型佔位元組,但是做等級考試題中遇到的int都是按位元組算的,為什麼

按照4位元組來做,我們平時使用的正常的ia32架構機器int型別都是4位元組。宣告為 short int 或 short 型別變數的才是2位元組。哪個題用2位元組算了?貼出來看看?在turbo c下,sizeof int 2。而在vc環境下,sizeof int 4。現在的考試應該是以vc6.0環境...

C中「Split方法」怎樣用?多個分隔符號分割字串

string.split new char,stringsplitoptions 就可以得到一個按照多 zhi個字元分割的字串數dao組了版。如 string s 怎樣用,多個分權 隔符號分 割字串?string stringsplit filedirs i split new char strin...

設c語言中int型資料再記憶體中佔兩個位元組則

如果一個int佔兩個位元組就是16位 unsigned int 範圍是 00000000 00000000 到 11111111 11111111 因此是0到65535 int佔2個位元組,就是16位,則int型的變數值的範圍為 2 15 2 15 1 即 32768 32767 unsigned ...