Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
15 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
56.50 kB
Просмотров:
56
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Многофайловые Си-программы](/documents_6/2971546f6c7bd258499782761739c51c/img0.jpg)
Содержание слайда: Многофайловые
Си-программы
Лекция №3
Часть 2
№2 слайд![Структура Си-программы](/documents_6/2971546f6c7bd258499782761739c51c/img1.jpg)
Содержание слайда: Структура Си-программы
описания функций, одна из которых обязательно main;
прототипы (шаблоны) функций;
директивы препроцессора;
описания глобальных переменных, констант, типов (т. е. описания глобальных имен, отличных от функций).
№3 слайд![Структура Си-программы](/documents_6/2971546f6c7bd258499782761739c51c/img2.jpg)
Содержание слайда: Структура Си-программы
№4 слайд![Область действия имен](/documents_6/2971546f6c7bd258499782761739c51c/img3.jpg)
Содержание слайда: Область действия имен
№5 слайд![Глобальные внешние имена](/documents_6/2971546f6c7bd258499782761739c51c/img4.jpg)
Содержание слайда: Глобальные (внешние) имена
Имена функций. Эти имена видимы из всех файлов программы. Однако шаблон функции действует только в пределе одного файла. Поэтому приходится помещать в каждый файл программы прототипы используемых в этом файле функций. Удобно это делать с помощью директивы include препроцессора.
Имена переменных, констант, типов, объявленные вне функций. Если требуется воспользоваться таким глобальным именем вне области его действия (в области от начала файла до объявления имени или в другом файле), то нужно повторить объявление имени, предварив его описателем extern. Объявление extern не предусматривает распределение памяти; оно лишь делает нужное имя доступным.
Обратите внимание:
В инструкции extern невозможна инициализация.
Компилятор Си по описаниям глобальных переменных не только дает им место в памяти, но и обнуляет их. Локальные переменные при описании не обнуляются; их значения считаются неопределенными (если, конечно, они не заданы инициализацией, вводом или присваиванием).
Инструкции extern удобно вставлять с помощью include.
№6 слайд![Пример область действия имен](/documents_6/2971546f6c7bd258499782761739c51c/img5.jpg)
Содержание слайда: Пример: область действия имен
№7 слайд![Пояснения к примеру](/documents_6/2971546f6c7bd258499782761739c51c/img6.jpg)
Содержание слайда: Пояснения к примеру
№8 слайд![Рекомендации по использованию](/documents_6/2971546f6c7bd258499782761739c51c/img7.jpg)
Содержание слайда: Рекомендации по использованию локальных и глобальных переменных
По возможности описания глобальных переменных, в том числе и extern, следует ставить в начало файла.
Не стоит делать глобальными промежуточные переменные (например, i в программе, приведенной ниже), потому что:
это делает подпрограмму менее универсальной, так как приводит к появлению непонятного пользователю "стыка" - промежуточной глобальной переменной;
приводит к неэкономному расходованию памяти, так как глобальные переменные занимают память в течение всего времени работы программы.
№9 слайд![Время жизни существования](/documents_6/2971546f6c7bd258499782761739c51c/img8.jpg)
Содержание слайда: Время жизни (существования) имени переменной или константы
№10 слайд![Статические данные](/documents_6/2971546f6c7bd258499782761739c51c/img9.jpg)
Содержание слайда: Статические данные
№11 слайд![Автоматические данные Это,](/documents_6/2971546f6c7bd258499782761739c51c/img10.jpg)
Содержание слайда: Автоматические данные
Это, прежде всего, локальные данные функции, не объявленные как static.
Под локальные данные, не объявленные как static, память распределяется в стеке функций.
К автоматическим данным также относятся переменные типа register, которые хранятся во внутренних регистрах процессора. В нашем курсе эти переменные не рассматриваются.
Память под автоматические данные распределяется при вызове функции и освобождается при завершении ее работы (передаче управления функции, вызвавшей данную) – они существуют пока работает функция.
№12 слайд![Применение статических](/documents_6/2971546f6c7bd258499782761739c51c/img11.jpg)
Содержание слайда: Применение статических локальных данных
№13 слайд![Возможное расположение данных](/documents_6/2971546f6c7bd258499782761739c51c/img12.jpg)
Содержание слайда: Возможное расположение данных в памяти
Статический сегмент программы
Стек функций
Динамическая память
Регистры процессора
№14 слайд![Класс памяти](/documents_6/2971546f6c7bd258499782761739c51c/img13.jpg)
Содержание слайда: Класс памяти
№15 слайд![Характеристики классов памяти](/documents_6/2971546f6c7bd258499782761739c51c/img14.jpg)
Содержание слайда: Характеристики классов памяти