Step 5 (S-11067)

From Stepik Wiki
Revision as of 13:05, 7 August 2017 by Admin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/560/step/5

Step 5 (S-11067) 1.png

[00:00 - 00:15] ключевое слово статик можно использовать и для определения функции если мы определим функции причем статик то я поведение будет аналогично поведению статической глобальной переменной то есть такая функция будет доступна только внутри данного модуля


[00:15 - 00:31] можно провести аналогию обычные функции ведут себя как глобальная переменная они доступны из любой точки программы при условии того что эта программа доступна объявлений а вот статические функции ведет себя как статический глобальной переменной


[00:31 - 00:46] пусть они доступны только в конкретный день трансляции и снаружи получить к ним доступ нельзя эстетическая функция это функция доступна пределах 1 модуля более то можно в разных модулях


[00:46 - 01:01] будет 2 файла 1 c 2 себе иметь функций с одинаковыми именами знаками сигналами при этом будут независимо встать программе и не вызовут проблем на линковке


[01:01 - 01:19] можно определить статическую функцию тест который вводится а резчиков инсте тесто в другом модуле который будет чтобы 2 разные функции они делают разные вещи но при линковке проблем не будет просто потому что подстановка адресов она будет происходить


[01:19 - 01:35] локально entry into другому если бы мы снова стать здесь не указали то это бы вызвало ошибку это клинков я сказал что 1 и той же функции есть 2 предложения но так как эти функции статические то


[01:35 - 01:51] постановках адресов происходит только внутри соответствующие модули и никакой коллизии не возникает говорят что статически глобальные переменные и статические функции проходят внутренний линковку то есть их адреса разрешаются только внутри конкретного модуля


[01:51 - 02:09] в противоположность этому говорят что обычная функция и глобальные перемены они проходят внешних рынков отсюда и слово экстра который используется при объявлении глобальных переменных в действительности при объявлении функции можно тоже указать ключевое слово экстра


[02:09 - 02:26] ну просто она там не обязательно потому что объявление функций и так достаточно сильно синтаксический отличается от определения функции а вот с одновременными по другому там если опустить инициализируешь выражения можно перепутать


[02:26 - 02:34] объявление и определение поэтому там слово экстра обязательно а для функции можно опускать ноги были меня всегда пускают