❶ c語言字元數占幾個位元組,又是多少位。
這個要看字元數是什麼數據類型,可以用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個字元
❷ c語言一個字幾個位元組
C語言中一個字未必等於四個位元組。
需要注意的細節:
C語言中的不同變數所佔的位元組和編譯環境以及計算機CPU、操作系統等有關。
64位的程序中int型號就佔用8個位元組,32位的程序int就是4位元組。
但是所有的c語言編譯器都必須保證short<=int<=long的關系。
如果寫的程序需要跨平台,建議臨時用sizeof運算符去計算出當前字的長度。
❸ c語言簡單問題,一維數組a採用順序存儲結構,每個元素佔用6個位元組,已知第6個元素的起始地址為100,
loc(ai)=loc(a1)+(i-1)*L用此公式就可以方便計算了,說明:loc(ai)代表第i個元素的起始地址,loc(a1)代表首地址,L代表每個元素佔用的位元組數。
此題的計算:100-(6-1)*6=70
❹ c語言類型所佔位元組數
類型
常見的有char、int、long、short、float、double及指針等.
字元類型
這里單只char,char變數在內存中存儲的是字元對應的ASCII碼值。所以長度也是固定的,為1個位元組。
整數類型
查了資料發現對各個類型的整數佔用位元組數是有一個規定的,雖然16位32位或者64位的機子各種類型所佔用的長度並不一樣。規則如下:
short 至少佔用2個位元組。
int 建議為一個機器字長。32位環境下機器字長為4位元組,64位環境下機器字長為8位元組。
short 的長度不能大於 int,long 的長度不能小於 int。
所以說,short並不一定短,long並不一定短,有可能都和int一樣長。
浮點數(小數)
C中浮點數有兩種,float和double,不像整數,小數的長度始終是固定的,float佔用4個位元組,double佔用8個位元組。
指針
C中指針即為地址,所以編輯器的定址空間則是指針的地址范圍。所以指針變數在32位機器的定址空間為2^32,要將所有地址都表示出來則需要為4個位元組長度,所以要佔用4個位元組長度。同理64位的編譯器則需要8個位元組長度。
❺ c語言高低位元組
int i佔一個字的長度(16或32位),char c佔一位元組長度(8位)。scanf("%d", &c);其中%d說明是以int類型讀進來,&c說明放到c位置。回頭看看c位置一個位元組裝不下一個字,所以會覆蓋掉i的低端部分。i是0到5,也就是
00000000,00000000到00000000,00000101高端部分本來就是0。
❻ C語言初學關於位元組的問題
這個取決於系統和編譯器,至於在你的系統上int 佔多少位元組,你可以 列印 sizeof(int) 來看一下。從結果推斷,確實是因為最後的計算結果發生了溢出導致負數
❼ 18:關於文件理解不正確的為: A)C語言把文件看作是位元組的序列,即由一個個位元組的數據順序組成;
不正確的是: D)每個打開文件都和文件結構體變數相關聯,程序通過該變數中訪問該文件;
理由:文件打開後,既可以按字元操作,也可以按數據塊操作,所以不一定和結構體變數項關聯。
❽ C語言位元組
a\t\1\23\xat7位元組
❾ C語言雙位元組的數怎麼由主機位元組序轉化網路位元組序
unsigned short a = 0x1122;
unsigned short b = (a>>8) || (a<<8);
其中b就是網路位元組序(大端)