使用整数数组在C中存储字符的好习惯

时间:2013-09-01 16:19:39

标签: c arrays

我目前正在学习用C语言编写,我正在参考Kernighan和Ritchie的书。为了更好地掌握数组,特别是在输入字符时我已经搜索过互联网,并注意到许多解决方案在输入过程中使用整数数组而不是字符数组。我知道字符在某种意义上是整数并且具有较低的优先级,所以我的问题非常简单,是否有任何主要的缺点来声明整数数组并使用它来存储字符?另外,正如标题所暗示的那样,这样做是不错的做法?

2 个答案:

答案 0 :(得分:5)

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

  1. 一般而言,整数不是字符。那就是“一个整数数组”,它不会像读者那样与读者进行通信,就像“一个字符阵列”那样。
  2. 您不能使用标准库的字符串函数,这很难过,因为字符数组通常可以视为字符串。
  3. 这浪费了记忆。
  4. 如果您发布了一些您觉得可以代表这样做的代码,那将会很有趣。我不认为它发生在K& R。

答案 1 :(得分:0)

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

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

然而,int类型这些类型中的一种,通常不会像这样使用。