LINUX.ORG.RU

История изменений

Исправление 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 строки они без вопросов расскажут.