① c語言在內存中存儲"A"要佔用個位元組 存儲'A'要佔用幾個位元組
長度11
「A」是字元串2個位元組,『A』是字元,一個位元組
② C語言中『a』與「a」都代表什麼啊內存中佔位元組數多少
'a'代表一個字元 (佔一個位元組)
「a」代表一個字元串(占兩個位元組,第一個位元組是a的ASCII碼,第二個是0,表示字元串的結束)
③ 你好、請問C語言在內存中存儲"A"要佔用個位元組 存儲『A』要佔用幾個位元組有神馬不同謝謝!
1. "A"要佔用2個位元組,系統會加上一個『\0』的結束符在A的後面。」A「是字元串常量
2. 『A』就佔用一個位元組。『A』是字元常量
④ 求C語言高手,為何a,b佔用12個位元組,而不是float的4個位元組
這是有關內存對齊的問題,每個CPU都有自己的規則,不過大體設這樣子的:
規則1:
數據成員對齊規則:結構(struct)(或聯合(union))的數據成員,第一個數據成員放在offset
為0 的地方,以後每個數據成員的對齊按照#pragma pack 指定的數值和這個數據成員自身長度中,比較小的那個進行。
規則2:
結構(或聯合)的整體對齊規則:在數據成員完成各自對齊之後,結構(或聯合)本身也要進
行對齊,對齊將按照#pragma pack 指定的數值和結構(或聯合)最大數據成員長度中,比較小的那個進行。
規則3:
結合1、2 顆推斷:當#pragma pack 的n 值等於或超過所有數據成員長度的時候,這個n
值的大小將不產生任何效果。
你可以網路一下有很多這方面的資料。這里我就不一一列舉了。
⑤ 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個字元
⑥ 字元串「a」在內存中占據的位元組個數是幾
在C語言中,一個字母字元佔一個位元組。所以表面上看是佔了1個位元組。然而C語言中規定,字元串結束後必須跟一個結束字元'\0',因此總共應該是佔了2個位元組
依次類推
「abc」就是佔4個位元組
⑦ c語言中,為什麼字元串「a」的佔用位元組長度為2個
「a」這是一個字元串,'a'是字元,你需要好好看看字元與字元串的區別