'字符串未终止'是什么意思?

Iva*_*nov 1 string

请原谅我的无知,但我不知道这句话是什么意思.我有几个问题:

  1. '字符串未终止'和'字符串不是空终止'之间有什么区别吗?
  2. 它是什么?
  3. 非终止字符串是什么样的?

谢谢!

Dav*_*kle 11

这取决于具体情况.当有人谈到一个以空值终止的字符串时,他们通常会谈论一个C风格的字符串,它只是一个字符数组,最后是一个0字节,有时称为\ 0或null.

这与字符串数据类型形成对比,字符串数据类型在开头存储它们的长度,然后是字符数组.在这种情况下,字符串"哟!" 将表示为:

Length  Char0 Char1 Char2
------  ----- ----- -----
  3       y     o     !
Run Code Online (Sandbox Code Playgroud)

当有人谈到一个字符串"没有被终止"时,他们通常会谈论一个没有被两组引号括起来的字符串 - 这就是编译器会给你的那种错误.这是完全不同的事情.