Хелпикс

Главная

Контакты

Случайная статья





Теоретические сведения. Массив символов и их инициализация. Функции ввода-вывода строк



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. Функции ввода-вывода строк

 

Функция Прототип функции Операция
fgets char *fgets (s, n, stream) char *s; int n; FILE *stream; прочитать строку из входного потока, включая символ новой строки
gets char *gets (s) char *s; прочитать строку из стандартного файла ввода stdin
fputs int fputs (s, stream) char *s; FILE *stream; записать строку в поток stream
puts int puts (s) char *s; записать строку в стандартный файл вывода stdout. В конце строк записывается символ новой строки.


  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.