1

我目前正在学习用 C 编程,并且正在参考 Kernighan 和 Ritchie 的书。为了更好地掌握数组,尤其是在输入字符时,我搜索了互联网并注意到很多解决方案在输入过程中使用整数数组而不是字符数组。我知道字符在某种意义上是整数并且具有较低的优先级,所以我的问题很简单,声明整数数组并使用它来存储字符有什么主要缺点吗?此外,正如标题所暗示的那样,这样做是一种好习惯吗?

4

2 回答 2

5

不,在我看来,这将是非常糟糕的做法,因为:

  1. 一般来说,整数不是字符。那就是“一个整数数组”不能像“一个字符数组”那样向读者传达正在发生的事情。
  2. 您不能使用标准库的字符串函数,这很可悲,因为通常可以将字符数组视为字符串。
  3. 它浪费内存。

如果您发布了一些您认为可以代表这样做的代码,那将会很有趣。我认为这不会发生在 K&R 中。

于 2013-09-01T16:23:04.363 回答
0

C 有多种类型可以存储整数。(类型没有优先级 - 也许您的意思是大小。)有时,一个字节的整数足以存储特定文本的一个字符(如果提前知道该文本将包含有限范围的字符)。

在现代系统和应用程序中,预计或需要支持超过 256 个字符,因此通常使用更广泛的字符类型。对于这些类型,通常有库函数执行与char处理函数相当的操作。

int然而,该类型不是这些类型之一,通常不打算这样使用。

于 2013-09-01T16:25:47.770 回答