java - C 和 Java 中数据类型的大小?
问题描述
数据类型在 C 中的大小,例如 int 是 2 个字节,而在 Java 中 int 的大小是 4 个字节,其他数据类型也是如此。为什么Java中数据类型的大小是双倍的?
解决方案
C 中数据类型的大小是特定于实现的。对于 16 位机器,int 是 2 个字节,对于 32 位机器,它是 4 个字节,而对于 64 位机器,它是 4 个或 8 个字节。(Windows 10 上的 Visual Studios 2019 产生 4 个字节,而我的 Linux 机器上的 FCC 产生 8 个字节。)
要检查您的 int 大小,请使用“sizeof(int)”。
C 编译器还可以定义 int16_t、int32_t 或 int64_t,以及 int16、int32 和 int64,只是为了让事情变得有趣。当您将近半个世纪的历史烙印在一种语言上时,就会发生这种情况。这就是 sizeof 如此重要的原因,因为硬编码大小可能适用于一种编译器,但可能不适用于另一种编译器。
推荐阅读
- html - 我对第 n 个孩子有一些问题
- xcode - xcrun 通过 NSTask:如何以与终端相同的形式获取返回值?
- laravel - 与 RESTful 相比,GraphQL GET 响应时间很慢
- angular - 如何以角度递归执行HTTP请求?
- c++ - 如何在我的项目中间接使用具有两个不同版本的共享库?
- javascript - NodeJS NPM soap - 我如何在没有回调的情况下链接异步方法(即使用异步或承诺)?
- numbers - NARS APL:有理表示和分子
- sql - SQLQuery 根据条件进行搜索
- fancybox - 将 Fancybox 导航移入工具栏或工具栏旁边
- excel - 将文本文件转换为 Excel 工作簿并在另一个模块上调用宏