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. Описания |