Определить значение символьной строки можно:
· при описании символьной строки (инициализация символьной строки);
· ввести значение символьной строки с помощью функций ввода;
Инициализация – это процесс явного задания значения символьной строки в момент ее описания.
При этом в оперативной памяти необходимо зарезервировать достаточное место для хранения этой строки с учётом символа ‘\0’.
Например,
static char book[30]=“М. Уайт \“Язык Си\”.”;
По этому описанию в оперативной памяти будет выделено 30 байт непрерывного пространства, в первые 19 будут занесены 18 символов символьной строки плюс символ конца строки (нуль символ \0), автоматически добавляемый компилятором на этапе трансляции исходного модуля. Остальные, не занятые, 11 байт будут заполнены символами \0, т. к. массив описан с использованием ключевого слова static. При описании локального массива без указания static свободные ячейки могут быть заполнены любыми произвольными символами.
При описании и инициализации символьного массива можно не указывать его размер. Компилятор сам определит длину строки, добавит в конец символ ‘\0’, отведет под строку необходимое количество байт непрерывной оперативной памяти и поместит туда все символы.
Например,
char days[ ] = “Среда”;
В оперативной памяти компилятор сам отведет 6 байт непрерывного пространства.
Символьную строку можно инициализировать не только при описании символьного массива, но и при описании указателя типа char.
Например,
char *pstring = “Дни недели”;
Указатель pstring будет инициализирован адресом первого элемента массива типа char, содержащего символы: