gpt4 book ai didi

c - 基础C题(初级)

转载 作者:行者123 更新时间:2023-11-30 18:59:54 25 4
gpt4 key购买 nike

在学习和编写 Java 一年后,我最近刚刚开始学习 C。当涉及到内存、变量和类似的东西时,我还有很多工作要做。我有几个问题,任何答案都会有帮助:

  1. “char 类型的值始终占用一个字节” - 这是否意味着 char 始终恰好是 8 位长?
  2. 现代计算机使用什么字符集?不同操作系统之间有区别吗?
  3. 有符号字符和无符号字符有什么区别?并且是性格由数字机所代表的依赖?
  4. char *ch = "text"和 char ch[] = "text"之间有什么区别
  5. 使用无符号变量有什么好处?
  6. C 定义标准类型的最小分类大小。谁定义了最大值?如何确定?
  7. 今天,我们何时(例如)使用十六进制或二进制以外的任何其他基数?
  8. 内存对齐是否依赖于机器?如果是的话,现代计算机有什么通用的方法吗?

最佳答案

  • 没有。 (C 上下文中字节的定义是数据存储的可寻址单元,足够大以容纳执行环境的基本字符集的任何成员,它只需至少 8 位,我使用过 9 位字节的 C 实现,并且知道一些具有 16 位字节的 DSP 或 64 位字节的 Cray)

  • Windows 以外的操作系统在字符集方面往往相对中立。目前有使用 Unicode 的趋势,但欧洲的 ISO-8851-X 和亚洲的各种宽字符集仍然有其追随者。

  • 它取决于区域设置。

  • 首先定义一个指向 char 的指针,用指向字符串“text”的指针初始化,然后定义一个用“text\0”初始化的 5 个字符的数组

  • 没有上限。实现使用它认为有用的东西。最常见的是遵循操作系统确定的 ABI(某些操作系统有多个 ABI,这些 ABI 可以具有不同大小的类型)。

  • 为人类带来便利。

  • 基本类型较宽构件的尺寸。

关于c - 基础C题(初级),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6981474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com