2
A
回答
2
只是爲了澄清事情了一下
char s[10] = "test";
這裏s
將佔據10個字節,因爲你已經明確地供應規模。
OTOH,像
char s[ ] = "test";
s
的定義將佔用5個字節,作爲陣列的大小將基於所提供的初始值設定被確定(4個元件加上一個空終止符。)
如果是char
數組,第二個數組被認爲是更好的方法,因爲有時它可以通過在定義大小時忘記計算空終止符的空間來避免麻煩。
考慮的情況下,
char arr[5] = "Hello";
這裏,arr
的大小爲5,是不是空終止。但是如果使用
char arr[ ] = "Hello";
編譯器會自動確定包括空終止符的大小。因此,arr
的大小爲6,幷包含空終止符。
0
在你的問題中,實際上有兩個單獨的問題。第一個對應於原來的問題
多少字節將一個字符串佔用,少信
,第二個是在原來的問題
的身體初始化稱號多少字節將這個陣列中佔據:
char s[10] = "test";
第一個問題的答案聽起來像字符串恰好佔據了數組的5個元素。這是字符串佔據陣列
s[0] = 't', s[1] = 'e', s[2] = 's', s[3] = 't', s[4] = '\0'
範圍[5, 9]
陣列的所有其他字符將被零'\0'
初始化的以下內容和答案的第二個你的問題聽起來像數組佔據的尺寸恰好等於10 * sizeof(char)
,這正好是10 bytes
,因爲sizeof(char)
始終等於1
。
如果將改爲寫
char s[] = "test";
^^
則陣列的大小將等於字符串文字(包括終止零)的大小,該大小是5個字符。
相關問題
- 1. 這個字節字符串實際佔用多少內存?
- 2. 一個字符串需要多少個字節?字符?
- 3. 串口通信缺少一個字節
- 4. #define字符串(字符串文字)需要多少個字節?
- 5. 在一個字符串中有多少次子字符串[Java]
- 6. 檢查字符串多少次是一個字符串
- 7. 有多少個空字節,連接字符串C
- 8. BufferedReader,讀多少個字節?
- 9. 計算兩個字符串共享多少個唯一字符
- 10. 字母A在UTF-16中佔用的字節數是多少?
- 11. 標籤中的字符串會佔用多少像素(寬度)?
- 12. 字符串數據類型佔用了多少數據?
- 13. 創建多少個Java字符串?
- 14. 字符串有多少個參數
- 15. 確定一個字符串中有多少個數字
- 16. 計算多少個字符
- 17. 使用了多少個字節?
- 18. 使用dataReceived接收多少個字節?
- 19. 計算兩個字符串有多少個重複字符
- 20. 兩個字符串中有多少個字符相同
- 21. MIPS:檢查一個字符串中有多少個字母字符
- 22. 通過減少字符串每個行減少一個字符來減少嵌套for循環中的字母
- 23. 一個字符串多少次包含另一個
- 24. 該陣列在內存中佔用多少字節?
- 25. Redis中成員佔用了多少字節集
- 26. Javascript:一個字符在一個字符串中出現多少次
- 27. 新增了多少字節?
- 28. 每個inode有多少個字節?
- 29. 計數列表中有多少個字,字符串中使用
- 30. F#計算一個字符串包含多少次子字符串
無論如何,分配的內存是10個字節,獨立的如何初始化,誹謗初始化等。前5個字節是含義(測試+ \ 0),其餘無意義(''\ 0''或其他)。 –
爲什麼要擔心5個字節? –