Визначення функції в С/С++
Завантажити презентаціюПрезентація по слайдам:
Визначення функції в С/С++ Визначення функції включає наступні елементи (згідно затвердженому ANSI-стандарту мови С) : вказівку про можливість використання функції поза даним файлом (за допомогою одного з службових слів extern або static; перше вживається за замовчуванням); тип результату, який повертає функція; відсутність результату позначається службовим словом void; ідентифікатор (ім’я) функції; кількість та типи формальних параметрів в круглих дужках; в разі їх відсутності вживається службове слово void; важливо: всі параметри функції передаються за значенням тіло функції, яке взяте в фігурні дужки; складається з визначення внутрішніх (локальних) змінних функції та інструкцій, що мають виконуватись під час роботи функції. Якщо функція повертає результат, то серед цих інструкції обов’язково має бути інструкція виду: return ; причому тип виразу повинен збігатись з типом результату функції.
Декларація функції в С/С++ Декларація функції – це можливість зробити функцію видимою для компілятора. Декларація виглядає так, як і визначення функції, проте не містить тіла функції. В одному програмному файлі допустимо кілька декларації і лише одне визначення. Приклад. int strlen (char *); // декларація функції int strlen (char *s) // визначення функції { char *p = s; while (*p != '\0') p++; return p-s; } Зверніть увагу – в декларації функції ідентифікатори формальних параметрів необов'язкові.
Важливі зауваження про класи пам'яті Визначення змінної означає виділення під неї пам'яті, декларація змінної – це представлення її компілятору. Всі змінні, визначені поза межами функцій, є глобальними (клас пам'яті extern за замовчуванням). Вони доступні у всіх функціях програми. Всі змінні, визначені у функціях, а також параметри функцій, – локальні (клас пам'яті auto за замовчуванням). Доступні лише в блоці, де визначені. Якщо біля глобальної змінної вказується службове слово extern, то це не визначення, а декларація змінної, яка визначена в іншій частині програми. Локальна змінна з тим самим ідентифікатором “перекриває” глобальну змінну. Те саме стосується і локальних змінних різних рівнів. Службове слово register біля локальної змінної – це лише побажання розмістити її на регістрах, щоб прискорити звертання до неї – компілятор в праві проігнорувати це побажання.
Деякі стандартні функції С/С++ Математичні функції містяться у файлі (компілятори мови С) або у файлі (компілятори мови С++). Аргументи x та y мають тип double, n – тип int; усі функції повертають значення типу double. sin (x) – синус x ; cos (x) – косинус x; tan (x) – тангенс x; asin (x) – арксинус x у діапазоні [-π/2, π/2] (x є [-1,1]); acos (x) – арккосинус x у діапазоні [0, π] (x є [-1,1]); atan (x) – арктангенс x у діапазоні (-π/2, π/2); atan2 (y, x) – арктангенс y/x у діапазоні (-π/2, π/2); exp (x) – e в степені x; log (x) – логарифм натуральний x (x > 0); log10(x) – логарифм десятковий x (x > 0); pow (x,y) – xy (помилка при x=0, y≤0 або при x
Схожі презентації
Категорії