Объявление и инициализация
Строка представляет собой массив символов, поэтому и объявляется она именно как массив:
char s[80];
Однако строка отличается от массива тем, что она заканчивается символом с кодом 0 – признаком окончания строки, поэтому
Если массив символов будет использоваться как строка, надо выделять на 1 байт больше памяти.При выделении памяти глобальные переменные заполняются нулями, а локальные содержат«мусор». Начальное значение строки можно задать при объявлении в двойных кавычках после знака равенства:
char s[80] = "Привет, Вася!";
Символы в кавычках будут записаны в начало массива s, а затем – признак окончания строки '\0'. Оставшиеся символы не меняются, и в локальных строках там будет «мусор». Можно написать и так
char s[] = "Привет, Вася!";
В этом случае компилятор подсчитает символы в кавычках, выделит памяти на 1 байт больше и занесет в эту область саму строку и завершающий ноль. Аналогично можно выделить память на указатель:
char *s = "Привет, Вася!";__
Результат – тот же самый, что и в предыдущем случае, но теперь s– это указатель (переменная, в которой хранится адрес ячейки в памяти), и с ним можно работать так же, как с обычным указателем (присваивать, изменять и т.п.). Если строка не будет изменяться во время работы программы, то можно объявить константу (постоянную строку) так:
const char PRIVET[] = "Привет, Вася!";
Дата добавления: 2015-10-05; просмотров: 814;