Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Main( ). doublerealadd(double, double);



{

int a = 0, b = 1;

float x = 2.0, y = 3.0;

double realadd(double, double);

a = intadd(a, b);

x = realadd(x, y);

}

intadd(a, b)

int a, b;

{

return (a + b); /* повертає значення типу int */

}

double realadd(x, y)

double x, y;

{

return (x + y); /* повертає значення типу double */

}

В прикладі функція intadd оголошена неявно з типом значення що повертається int, оскільки вона викликана до свого визначення. Компілятор не перевірятиме типи аргументів при виклику даної функції, тому що список типів аргументів для неї не заданий.

Функція realadd повертає значення типу double. В функції main є попереднє оголошення функції realadd. Тип значення що повертається (double), заданий у визначенні, відповідає типу значенню що повертається, заданому в попередньому оголошені. В попередньому оголошені також визначені типи двох параметрів функції realadd. Типи фактичних аргументів відповідають типам, що задані в попередньому оголошені, і також відповідають типам формальних параметрів у визначенні функції realadd.

1.1.3. Виклик функції.

Виклик функції передає управління і фактичні аргументи (якщо вони є) заданій функції.

Синтаксично виклик функції має вигляд:

<вираз> ([<список виразів>]);

<вираз> обчислюється, і його результат інтерпретується як адрес функції. Вираз повинен мати тип функція.

<список виразів>, в якому вирази ідуть через кому, представляє собою перелік фактичних аргументів, що передаються функції. Список виразів може бути пустим.

При виконанні виклику функції відбувається присвоєння значень фактичних аргументів формальним параметрам. Перед тим кожен фактичний аргумент обчислюється, над ним виконуються необхідні перетворення, і він копіюється в стек. Перший фактичний аргумент відповідає першому формальному параметру, другий – другому і т.д. Всі аргументи передаються по значенню, тільки масиви – по посиланню (див. масиви).

Приклад:





Дата публикования: 2015-01-13; Прочитано: 388 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...