Что означает «строка не завершена»? - PullRequest
1 голос
/ 25 августа 2009

Извините за мое невежество, но я не знаю, что означает эта фраза. У меня есть несколько вопросов:

  1. есть ли разница между «строка не заканчивается» и 'строка не заканчивается нулем'?
  2. Что это?
  3. Как выглядит не завершенная строка?

Спасибо!

Ответы [ 2 ]

11 голосов
/ 25 августа 2009

Это зависит от контекста. Когда кто-то говорит о строке, заканчивающейся нулем, он обычно говорит о строке в стиле C, которая представляет собой просто массив символов, за которым следует 0-байт в конце, иногда называемый \ 0 или нулевым.

Это отличается от строковых типов данных, которые вместо этого сохраняют свою длину в начале, а затем массив символов. В этом случае строка "йо!" будет представлен как:

Length  Char0 Char1 Char2
------  ----- ----- -----
  3       y     o     !

Когда кто-то говорит о строке «не завершается», он обычно говорит о строке, которая не заключена в два набора кавычек - это та ошибка, которую даст вам компилятор. Это совершенно другая вещь.

1 голос
/ 25 августа 2009

«строка не завершена» обычно означает, что вы пропустили закрывающую кавычку для вашей строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...