|
||||||||||||||||||||||
Теоретические сведения. Массив символов и их инициализация. Функции ввода-вывода строк3. Теоретические сведения 3.1. Массив символов и их инициализация При определении строк необходимо сообщить компилятору требуемый размер памяти. Первый способ - инициализация массива при помощи строковой константы. Например: char m1[]="Только ограничьтесь одной строкой."; Здесь оператор инициализировал внешний по умолчанию массив m1 для указанной строки. Этот вид инициализации является краткой формой стандартной инициализации массива: char m1[]={'T','o','л','ь','k','o',' ','o','г'','p','a','н','и','ч','ь','т','e','c','ь',' ',o','д','н','o','й',' ','c','т','p','o','k','o','й','.','\0'} Без символа 0 мы имеем массив символов, а не строку. Для той и другой формы компилятор подсчитывает символы и таким образом получает размер памяти. Как и для других массивов, имя m1 является указателем на первый элемент массива: m1==&m1[0], *m1=='T', и *(m1+1)==m1[1]=='o' и т.д. Действительно, мы можем использовать указатель для создания строки. Например: char *m3="Символьная строка."; Это почти то же самое, что и static char m3[ ]="Символьная строка."; Оба описания говорят об одном: m3 является указателем строки со словами "Символьная строка". В том и другом случае сама строка определяет размер памяти, необходимой для ее размещения. Однако вид их не идентичен. 3.2. Функции ввода-вывода строк
|
||||||||||||||||||||||
|