Составители:
Рубрика:
38
Количество байт=<размер базового типа>*<количество элементов> .
В языке С под массив всегда выделяется непрерывное место в памя-
ти. В языке С не проверяется выход значения индекса за пределы мас-
сива. Поэтому, при написании и отладке программ с использованием
массивов, этот момент необходимо учитывать.
4.2. Массивы символов, строки. Функции работы со строками
Массивы типа char – символьные массивы – занимают особое место.
Во многих языках программирования есть специальный тип данных –
строка символов (string). В языке С такого типа нет, а работа со строка-
ми реализована путем использования одномерных массивов типа char.
В языке С символьная строка – это одномерный массив типа char, за-
канчивающийся нулевым байтом. Для нулевого байта определена спе-
циальная символьная константа – ‘\0’. Это необходимо учитывать при
описании соответствующего символьного массива. Так, если строка
должна содержать N символов, то в описании массива необходимо ука-
зать N+1 элемент.
Например, описание int str[12], предполагает, что строка содержит
11 символов, а последний байт зарезервирован под нулевой байт.
Хотя в языке С нет специального типа строки, язык допускает стро-
ковые константы. Строковая константа – это список литер, заключен-
ных в двойные кавычки. Например,
“Borland C++”, “Строковая константа”.
В конец строковой константы не надо ставить символ ‘\0’. Это сде-
лает сам компилятор, и строка “Borland C++” в памяти будет выглядеть
так:
Bo r l a n d C+ + 0\
Есть два простых способа ввести строку с клавиатуры. Первый спо-
соб – воспользоваться функцией scanf() со спецификатором ввода %s.
Надо помнить , что функция scanf() вводит символы до первого про-
бельного символа. Второй способ – воспользоваться функцией gets(),
объявленной в файле stdio.h. Функция gets() позволяет вводить строки,
содержащие пробелы. Ввод заканчивается нажатием клавиши Enter. Обе
функции автоматически ставят в конце строки нулевой байт. В каче-
стве параметра в этих функциях используется имя массива.
Страницы
- « первая
- ‹ предыдущая
- …
- 36
- 37
- 38
- 39
- 40
- …
- следующая ›
- последняя »