основыкнигиwin/dos*nixготовоелирикагостиФОРУМПОИСК
Б.В. Керниган, Д.М. Ричи -- Язык C

2.3.3. Строчная константа

      Строчная константа -- это последовательность, состоящая из нуля или более символов, заключенных в двойные кавычки, как, например,

   "I AM A STRING"    /* я - строка */

или

   ""    /* NULL STRING */     /* нуль-строка */

      Кавычки не являются частью строки, а служат только для ее ограничения. те же самые условные последовательности, которые использовались в символьных константах, применяются и в строках; символ двойной кавычки изображается как \".
      С технической точки зрения строка представляет собой массив, элементами которого являются отдельные символы. Чтобы программам было удобно определять конец строки, компилятор автоматически помещает в конец каждой строки нуль-символ \0. Такое представление означает, что не накладывается конкретного ограничения на то, какую длину может иметь строка, и чтобы определить эту длину, программы должны просматривать строку полностью. При этом для физического хранения строки требуется на одну ячейку памяти больше, чем число заключенных в кавычки символов. Следующая функция STRLEN(S) вычисляет длину символьной строки S не считая конечный символ \0.

  STRLEN(S)       /* RETURN LENGTH OF S */
  CHAR  S[];
  {
     INT I;
 
     I = 0;
     WHILE (S[I] != '\0')
             ++I;
     RETURN(I);
  }

      Будьте внимательны и не путайте символьную константу со строкой, содержащей один символ: 'X' -- это не то же самое, что "X". Первое -- это отдельный символ, использованный с целью получения численного значения, соответствующего букве х в машинном наборе символов. Второе -- символьная строка, состоящая из одного символа (буква х) и \0.

ПРЕДЫДУЩАЯ ЧАСТЬ
2.3.2. Константное выражение
СОДЕРЖАНИЕ СЛЕДУЮЩАЯ ЧАСТЬ
2.4. Описания