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

Требования к содержанию отчёта приведены в лабораторной работе №1. Контрольные вопросы для подготовки и самостоятельной работы

  1. Объясните синтаксис объявления, определения и вызова функции.

  2. Всегда ли: последним оператором функции всегда должен быть оператор return?

  3. Как вы называете переданную локальную переменную – аргумент или параметр?

  4. Какие типы переменных всегда передаются по адресу?

  5. Какие типы переменных можно передать в функцию по значению?

  6. Если переменная передается в функцию по значению и там изменяется, будет ли изменена переменная в вызывающей функции?

  7. Если переменная передается в функцию по адресу и там изменяется, будет ли изменена переменная в вызывающей функции?

  8. Как объявить тип возвращаемого функцией значения?

  9. Какой тип возвращаемого значения используется по умолчанию?

  10. В чём разница между объявлением или определением функции?

  11. Где размещается объявление и определение функций?

  12. Где размещается объявление и определение библиотечных функций?

  13. В чём разница между формальными и фактическими параметрами?

  14. В чём разница между обычными и inline функциями?

  15. Какой тип имеет имя функции?

  16. Какие классы памяти используются при объявлении функции?

  17. Какой класс памяти функций используется по умолчанию?

  18. Как включить файл объявления библиотечных функций в программу?

Лабораторная работа №8 Разработка программ с указателями (2 часа)

Цель работы: изучить конструкции и операторы языка С для работы с указателями.

Теоретические сведения

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

С помощью указателей в С можно: получать доступ к адресам памяти объектов и манипулировать с ними, строить одномерные, двумерные и многомерные массивы, создавать динамические структуры данных, указатели помогают передавать массивы и функции в другие функции и т.д.

Рассмотрим основные понятия и принципы работы с указателями.

Указатель - это адрес памяти, распределённой для другой переменной заданного типа. Значение указателя сообщает о том, где расположен объект данных, но не говорит о его содержимом.

Синтаксис объявления указателей:

тип*имя_указателя.

Читается данная запись так:

имя_указателя является указателем на тип. Символ «*» (звездочка) говорит о том, что данная переменная есть указатель на заданный тип.

Пример:

int * x; // x является указателем на тип int (целое).

Таким образом, можно объявить указатель на любой тип: стандартный или созданный пользователем, в том числе может быть объявлен указатель на указатель, на любой тип-void.

Указатель на тип void совместим с любым другим указателем. Например, допустима запись:

int *x;

void *y;

y = x;

Размер указателя, т.е. размер участка памяти, отведенного под адрес, зависит от модели памяти, в которой пишется программа. Отметим их название и укажем размер указателей в байтах: крошечная (2), маленькая (2), средняя (4), компактная (4), большая (4), огромная (4).

Для указания размера указателя используют модификаторы: по умолчанию near (2 байта), far (4 байта), huge (4 байта).

Указатель может использоваться как константный, который связан с одной постоянной ячейкой памяти:

float const ptr; // константный указатель

Указатель может быть связан и с константами:

const float ptr; // указатель на константный тип

Возможно также следующее выражение:

сonst float сonst ptr; // константный указатель на константный тип.

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