回答
Java字符串。底层Java String由一个包含3个字段的对象组成,其中一个指向包含字符的单独数组对象。另外当然,Java字符串由16位字符组成。
如果您担心所有其他标准的内存使用情况,请勿使用Java。但对于大多数应用程序而言,内存使用率是您最担心的问题。
值得注意的是,1,000,000,000可以用Java int
来表示,它将与C有符号或无符号(32位)整数大小相同。
此外,一个C int
是不一定大到足以代表1,000,000,000。在某些平台上,int
是16位,这是C标准允许的。
Y - 为了澄清,C将int定义为本地机器字大小(因此int可以是16,32或64位等)。我想技术上来说C int可能是1Bbit在512bit机器语言场景中效率最低的存储器,但希望我不会看到这一点。 – StuartLC 2010-08-28 11:08:00
@nonnb - 在技术上绝对正确,C标准说'int'的范围至少是-32758到+32767。它可以(而且往往)比这更大。然而,标准说*绝对没有*关于'int'与“本地机器字”大小相同。 – 2010-08-28 11:19:51
老实说,我真的不希望直接回答这个问题,所以你可以在看在这里:
- http://www.cplusplus.com/doc/tutorial/variables/
- http://en.wikipedia.org/wiki/C_variable_types_and_declarations
- http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
此外,它可能是有用如何二进制和十进制之间的转换:
C标准没有说明许多存储要求。正因为如此,你可以有:
- 256位C
int
s表示需要32个字节来存储任何东西(见@ nonnb的评论) - 宽C字符串(
wchar_t[]
)使用UCS-4/UTF -32字符(因为所有的GNU实现做,显然) - 使用32位
char
秒(这将必须在系统上使用32位字节)
顺便说一句,21位或更大的'wchar_t'是符合C实现可以支持所有Unicode的唯一方法。这也是推荐的方法(请参阅C99中的__STDC_ISO_10646__宏)。具有16位'wchar_t'的实现简单地被破坏了。 – 2010-08-28 11:45:52
多字符序列呢?那么UTF-8和16呢? – aib 2010-08-29 10:36:49
- 1. PHP名称空间可以包含变量吗?
- 2. BASH变量仅包含空间
- 3. 分配内存以包含结构
- 4. 包含图像的底部空间
- 5. 变量是空的包含文件中
- 6. 为矢量分配大量的空间
- 7. 包含在战争中的罐子占用大量空间
- 8. 可以局部变量分配吗?
- 9. 如何连接包含空格的局部变量
- 10. 变量的内存分配
- 11. 变量的内存分配
- 12. 爪哇 - 是否空变量需要的内存空间
- 13. 代码帮助内部包含文件中的变量定义的变量
- 14. 可以#define包含以前定义的变量吗?
- 15. 我可以从JavaScript内部分配一个jade变量吗?
- 16. bash显示包含路径的变量的部分
- 17. 如何将包含空格的php变量存储到html变量中?
- 18. 在字符串内部包含int变量的值
- 19. 主函数内部大量内存的静态分配
- 20. 将字符串的可变大小部分保存到另一个变量
- 21. DOM元素可以包含一个包含空格的ID吗?
- 22. PHP包含大文件 - 内存问题
- 23. 内存泄漏与分配的结构包含一个向量
- 24. 部分内容不包含CURL请求
- 25. 区分计数以包含空白值
- 26. 在函数内包含变量赋值?
- 27. 如何修剪(空间)在SoapUI的断言部分的变量?
- 28. 内存Swift类以外的变量和常量的分配
- 29. 击:插入逃到包含可变空间
- 30. 变量内部的变量
作业AC执行? _____ – kennytm 2010-08-28 10:48:20
奇怪的问题?最浪费的代表将是一个unicode字符串,假设在C中使用字符串char [] – StuartLC 2010-08-28 10:50:55
C中的字符串也可以是unicode ... – 2010-08-28 10:57:38