1樓:
c語言中,char是一位元組,八位。一位元組等於八位
2樓:昝傲之
你是不是記錯了?char型是1個位元組,8位,不是16位。 位,位元組都是單位,一個位元組等於八位。就好像是一米等於100釐米。
int型就是4個位元組,4*8=32位。float型也是4個位元組,4*8=32位。
3樓:金色潛鳥
c 語言 規定 char 型 是1 位元組整型。1位元組 等於 2進位制8位, 2進位制的一個位,中文叫「字元」,
英文叫 bit.
" c語言說char是16位" 這裡可能有中英文 誤解。
有個 「字符集」的概念,例如,ascii 字符集裡,一個字元 是 8 字元,中文雙位元組編碼字元 是 2位元組 16字元。還有其它編碼的 裡的 字元,可能 是 多少多少 位元組。
字元 英文叫 character。大概某些人混淆了 某 set 裡 的 character 是16位,變成 char是16位了。
c 語言可以用 sizeof(char) 算得 char 佔的記憶體位元組數,你輸出看看:
printf("%d", sizeof(char));
c語言中,char型別資料佔多少位元組?
4樓:胡說八道小鬼
char 1個位元組
16位編譯器
32位編譯器
64位編譯器
c語言中的char資料型別
c語言中的char資料型別是一種整數型別(integer type),它的大小被定義為1個byte。
亦即sizeof (char) ≡ 1
5樓:吉祥二進位制
可以使用sizeof運算子獲取資料型別佔多少位元組。一般char型別佔1個位元組。
#include
int main()
6樓:匿名使用者
佔一個位元組,即8位,可用兩位十六進位制數表示,比如0x7f
7樓:
不要過於在意這種型別大小問題,在不同的機器有些實現是不一樣的,針對性太強的移植性會比較差,用的時候用sizeof()之類的函式測一下就好了
8樓:杜茂彥
sizeof(char) 1個位元組
wchar 2個位元組,用來表達unicode的
請問c語言中,』\n』是佔用幾個位元組的???
9樓:小夏在深圳
\n』是兩來
個位元組。
1、如果是源char 型,那麼是佔用1個位元組,8位。如果是string型,應該是兩個位元組,16位,因為末尾還有個\0字元。
比如:char c = 'a';//它佔用一個字元
char c = "a";//佔用兩個。
char c = "abcde";//佔用4+1 = 5 個,結尾有一個'\0'
2、數字:
從小到大分別為:short、int、float、long、double。
位元組為:1個、2個、4個、8個、8個
位數為:8位、16位、32位、64位、64位
3、漢字
一個漢字佔用兩個位元組,16位。比如:中國,就佔用4個位元組,例如:
char c = "中國";//佔用4+1 = 5個字元。
擴充套件資料
1、由於常用的英文字元用8位二進位制就可以表示,所以通常就將8位稱為一個位元組。字長的長度是不固定的,對於不同的cpu、字長的長度也不一樣。
2、不指定 signed 或者 unsigned 的 char 型別,在c語言中是未定義的,若考慮不同的編譯器,我們不能確定 char 型別到底是有符號的,還是無符號的。
10樓:下南生
char c = 'a';//它佔用一個位元組位元組(byte)是計算機資訊科技用於計量儲存容量的一種計量單位內,通常情況下一位元組等於容八位。比如:0x01, 0x45, 0xfa。
字元是指計算機中使用的字母、數字、字和符號,包括:1、2、3、a、b、c、~!·#¥%……—*
11樓:☆淡水流雲
得四位元組是因bai為你在打du開檔案的時候沒zhi有用二進位制方式fp1=fopen("c:/a.txt","w");這樣你回車就dao是兩個位元組
把"w"改成回"wb"看看。
答\r回車
\n換行
ascll碼每個字元就是一個位元組,因為8位256個組合可以表示所有的ascll字元。這個是約定,沒有什麼原理的。
12樓:匿名使用者
1 byte 因為他是一個字元,前面有個\ 只是一種表示方法;比如'\362『是 一個八進位制整數是同一道理,\』表示字元 』,為了區別而已
13樓:匿名使用者
1 byte /n 轉成ascii碼 就是回車拉 ascii 1 byte一個符號拉
14樓:匿名使用者
怎麼說呢。\n本身確實是一個字元。但是請看下面的程式(執行環境windows xp+sp2+vc6)#include "stdio.h"
void main()
執行此程式後,再開啟內「我的電腦」,進入容c盤,分別檢視a.txt和b.txt檔案大小,你會發現分別是3位元組和5位元組。
我個人理解,\n雖然佔1位元組,但因為回車鍵實際上是輸入了\n和\r兩個字元,而且好像unix和linux中就要求\n\r連用是吧?所以,某些編譯器(比如vc),就會將\n處理成\n\r,變成了2個位元組。
有不對的地方還請大蝦指正。
15樓:匿名使用者
#include
void main()
你自bai
己看du執行zhi結果吧
dao或者這內個:
容#include
void main()
16樓:匿名使用者
一個 my sweets
c語言字元數佔幾個位元組,又是多少位。
17樓:匿名使用者
這個要看字元數是什麼資料型別,可以用sizeof(型別)操作符來測試位元組數。
1、英文字母:如果是char 型,那麼是佔用1個位元組,8位。如果是string型,應該是兩個位元組,16位,因為末尾還有個\0字元。
比如:char c = 'a';//它佔用一個字元
char c = "a";//佔用兩個。
char c = "abcde";//佔用4+1 = 5 個,結尾有一個'\0'
2、數字:有很多種類,從小到大分別為:
short、int、float、long、double
位元組為:1個、2個、4個、8個、8個
位數為:8位、16位、32位、64位、64位
3、漢字:理論上說,一個漢字佔用兩個位元組,16位。比如:中國,就佔用4個位元組,例如:
char c = "中國";//佔用4+1 = 5個字元
18樓:因果龍閣
對於幾乎所有的機器,1位元組均為8位,這是位元組的標準定義,至少在衡量儲存單位時是這樣。但是c語言有自己的定義:一個位元組為char型別佔用的位(bit)數。
19樓:匿名使用者
一個字元一個位元組 共8位(bit)
可以用sizeof(型別)來測試
20樓:春天在這裡開花
ascii
一個英文字母,數字-----佔7/8位元組,就是7個2進位制位,第八個有其他用,比如奇偶校驗,因此可以算佔一個位元組。(8個bit位)
一箇中文字-------佔二個位元組
整數要根據型別,一般是極其的字長。比如16位機整數就是16位bit,兩個位元組。32位機就是4位元組。還有int64
型別的整數。
至於實數在c中,有32位(float)和64位(double)之分。其他語言中有型別80位的,叫擴充套件精度實數.主要是在cpu內部的擴充套件精度實數暫存器,是80位的。
保證在double實數運算是不損失精度。
求c語言中int ,long int,char,float,short,dword,word,byte,byte的大小
21樓:鄉村鴨子
變數佔記憶體位元組由編譯器決定,byte表示位元組,bit表示位,,把三轉換成二進位制,再按二進位制的補碼形式儲存,
22樓:匿名使用者
使用sizeof求,
#include
int main()
不同軟體編譯答案不同,還有,c語言沒有dword,word,byte,byte
23樓:
變數佔用記憶體位元組由作業系統決定,
64位系統中,long佔用8位元組,……
32位作業系統中,int,long佔用4位元組,short佔用2位元組……
16位系統中,int佔用2位元組,……
數字3佔用多少,和你宣告的的型別有關,
在32位系統中,將3賦值給short型變數,他就佔用2個位元組,如果賦值給int型,他就佔用4個位元組
可以用sizeof這個函式來計算。例子:
int x, n;
n = sizeof(x);
n的值就是結果。
C語言char和malloc的使用
char 是一個copy指向char 的指標,char 是指向char的指標。在函式中如果要對一個引數char 申請空間,同時要在函式外面使用時 需要傳遞char 否則申請的空間無法在函式外面使用,但申請的空間仍會在,造成空間洩露。申請空間可以用malloc向系統申請分配指定size個位元組的記憶體...
c語言中char和intfloat有什麼區別?分別適用於什
int是整型數抄據 如 int a 則a的值襲只能是整型bai 如a 3 char是字 du符型 如 char a 則a的值只zhi能是字元型 如a a float是浮點dao型資料 如 float a 則a的值只能是浮點型資料 如a 3.50 即我們數學中的實數 必須寫成小數形式 char 是字元...
關於c語言char的用法問題假如
char a是錯誤的,只能定義char a 任意整數 或者char a 4或者其他整數或者不填 abc 或者char a 3或者其他整數或者不填 或者char a 2或者其他整數或者不填 或者char k,j,l,a 3 char a也是錯誤的,只能定義為 char a 任意整數 首先說下第一個,以...