Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BOOK_С_INTUIT.docx
Скачиваний:
31
Добавлен:
11.02.2015
Размер:
6.34 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;

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