Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BOOK_С_INTUIT.doc
Скачиваний:
3
Добавлен:
19.09.2019
Размер:
7.91 Mб
Скачать

Контрольные вопросы

  1. Какой размер одномерного символьного массива должен быть объявлен для записи в него строки из 5 символов?

  2. Как организуются многомерные символьные массивы в языке С?

  3. Как организуется индексирование символьных массивов в языке С?

  4. Как следует объявить символьный массив для записи в него трех строк различной длины?

  5. Как следует организовать посимвольное заполнение одномерного массива?

  6. Сколько потребуется операторов цикла для вывода на консоль двухмерного символьного массива (строк различной длины)?

  7. Какие функции используются для считывания с консоли символьных массивов?

  8. Для каких функций включаются в программу заголовочные файлы ctype.h и string.h?

  9. Что такое лексиграфическое упорядочивание строк?

Библиографический список

  1. Кочан С. Программирование на языке С : пер. с англ./С. Кочан. – 3-е изд.– М.: Вильямс, 2007. – 496 с.

  2. Шилдт Г. Полный справочник по С : пер. с англ./Г. Шилдт. – 4-е изд. – М.: Вильямс, 2007. – 704 с.

  3. Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на языке Си (+CD)  : учеб. пособие / Б.С. Хусаинов. – М.: Финансы и статистика, 2004. – 464 с.

Тема 7 Указатели в языке программирования с

Изучается указатель как средство доступа к данным, определяются адреса переменных основных типов. Рассматриваются допустимые операции с указателями, использование указателей в элементарных задачах программирования.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

По краткому определению, указатель – это переменная, содержащая адрес другой переменной [1]. Так как указатель содержит адрес переменной (объекта), это дает возможность «косвенного» доступа к ней.

Для понимания работы и назначения указателей рассмотрим упрощенную схему организации памяти компьютера. Память представляет собой массив последовательно пронумерованных или адресованных ячеек, с которыми можно работать по отдельности или связанными кусками. Известно, что различным типам данных отводится определенное количество байтов памяти. Поэтому указатель – это группа ячеек, в которых может храниться адрес. Например, если переменная ch имеет тип char, а ptr (англ. pointer – «указатель») есть указатель на переменную ch, то взятие адреса переменной ch осуществляется с помощью унарного (одноместного) оператора &, т.е.

ptr = &ch;

Приведенная инструкция означает, что переменной ptr присваивается адрес ячейки ch. Принято считать, что ptr указывает на ch. Оператор & применяется только к объектам, расположенным в памяти: переменным, элементам массива. Операндом оператора & не могут быть ни выражение, ни константа, ни регистровая переменная [1]. Унарный оператор & называется еще оператором адресации [2].

Имена указателям даются в соответствии с правилами, приятыми в языке программирования С для обычных переменных.

Унарная операция * называется операцией ссылки по указателю (indirection), или разыменования (dereferencing). Если применить ее к указателю, то получим объект, на который он указывает. Рассмотрим пример. Пусть х и у – целые переменные, а *ptr – указатель на такую переменную. Поставим задачу присвоения переменной у значения переменной х с помощью указателя. Фрагмент С-кода будет следующим:

int x = 1, y = 2;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]