Как определить пустой Char в Delphi
Просто для любопытства,
Почему в Delphi, если мы определили пустой char на:
a:Char;
a:='';
получаем ошибку: Несовместимые типы: 'Char' и 'string'
Однако, если мы разместили
a:='a';
это будет хорошо?
Нужно ли определять пустой char по: a:=#0
?
Ответы
Ответ 1
A char - единственный (то есть один) символ. Итак, "a", "∫" и "⌬" все в порядке, но не "ab" (двухсимвольная строка), "Hello World!". (двенадцатисимвольная строка) или '' (строка с нулевым символом).
Однако символ NULL (# 0) является символом, как и любой другой.
Кроме того, тип данных символа реализуется как слово (в современных версиях Delphi), то есть как два байта. Если все эти значения 0, 1,..., 2 ^ 16 - 1 используются для реальных символов, как в мире вы представляете свой "пустой char"?
Ответ 2
Нет такой вещи, как пустой char
. A char
должно иметь значение. Это порядковый тип, простой тип значения. Точно так же, как целое число, скажем, всегда имеет значение, также имеет значение char
.
Значение #0
не является пустым char
, это символ со значением 0, обычно известный как NUL
.