История изменений
Исправление khrundel, (текущая версия) :
литерал есть. и тип его char*, будто это один символ в памяти, и никаких нулей сзади там нет.
Спасибо, я тоже книжку «Язык C за 21 день» читал.
Вопрос был о том, можно ли считать язык, в котором валидно выражение 2["abc"]
эталоном следования логики. Ну т.е. мне заявляют абсурдное утверждение, я привожу пример нелепости, и дальше начинается «а «abc» - это не строка, в С вообще нет строк, ко-ко-ко».
И да, в C, безусловно, есть строки. Ну такой вот язык был придуман, с максимальными переиспользованием типов, char для символов и байтов, int для целых и логики. И строки там были char*, с терминатором в конце. Единственная причина, почему эти клоуны тему подняли, что надо хоть что-то возразить, а кроме увода в «является ли char* строкой» вариантов не было. Если в соседней теме кто-то спросит как конкатенировать в C строки они без вопросов расскажут.
Исходная версия khrundel, :
литерал есть. и тип его char*, будто это один символ в памяти, и никаких нулей сзади там нет.
Спасибо, я тоже книжку «Язык C за 21 день читал».
Вопрос был о том, можно ли считать язык, в котором валидно выражение 2["abc"]
эталоном следования логики. Ну т.е. мне заявляют абсурдное утверждение, я привожу пример нелепости, и дальше начинается «а «abc» - это не строка, в С вообще нет строк, ко-ко-ко».
И да, в C, безусловно, есть строки. Ну такой вот язык был придуман, с максимальными переиспользованием типов, char для символов и байтов, int для целых и логики. И строки там были char*, с терминатором в конце. Единственная причина, почему эти клоуны тему подняли, что надо хоть что-то возразить, а кроме увода в «является ли char* строкой» вариантов не было. Если в соседней теме кто-то спросит как кон в C строки они без вопросов расскажут.