Інформатика
Область видимості : Оголошення функцій
 

Оголошення функцій

     Функції завжди визначаються глобально. Вони можуть бути оголошені із класом пам'яті static або extern. Оголошення функцій на локальному й глобальному рівнях мають однаковий сенс.

     Правила визначення області видимості для функцій відрізняються від правил видимості для змінних і полягають у наступному.

1. Функція, оголошена як static, видима в межах того файлу, в якому вона визначена. Кожна функція може викликати іншу функцію із класом пам'яті static зі свого вихідного файлу, але не може викликати функцію певну із класом static в іншому вихідному файлі. Різні функції із класом пам'яті static, що мають однакові імена, можуть бути визначені в різних файлах, і це не веде до конфлікту.

2. Функція, оголошена із класом пам'яті extern, видима в межах всіх вихідних файлів програми. Будь-яка функція може викликати функції із класом пам'яті extern.

3. Якщо в оголошенні функції відсутній специфікатор класу пам'яті, то за замовчуванням приймається клас extern.

     Всі об'єкти із класом пам'яті extern компілятор поміщає в об'єктному файлі в спеціальну таблицю зовнішніх посилань, що використовується редактором зв'язків для дозволу зовнішніх посилань. Частина зовнішніх посилань породжується компілятором при звертаннях до бібліотечних функцій С, тому для дозволу цих посилань редактору зв'язків повинні бути доступні відповідні бібліотеки функцій.

 
© 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.ua
Розроблено за допомогою LERSUS