【发布时间】:2018-12-02 09:57:07
【问题描述】:
我们知道,对于字符数组,我们有 '\0' 来标识它的结尾,那么其他类型的数组呢?
我认为它不是一个特殊字符,例如 '\0',因为要声明一个包含 n 个元素的整数数组,例如您只需分配 n * sizeof(int),但对于字符数组,我们会考虑 '\0 '。
【问题讨论】:
-
需要提前知道数组长度。
\0字符(也称为 NULL 终止符,因为\0的 ASCII 值为 0)只是为了让打印函数知道何时停止打印字符串。 -
除非您为特定的数组类型使用自己的特殊标记值,否则什么都没有。
-
如果数组中不能出现标记值,您可以使用它,否则
'\0'是数组和字符串之间的区别。 -
C 字符串是使用 char 数组定义的事实,以及 C 数组不是对象且不包含其长度作为字段的事实,需要定义终止符
-
@SomethingSomething 取决于您如何定义对象。在 C 标准中,即使是常规变量也被称为对象。