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

Прототипи функцій



Особливістю стандарту АNSI мови С є те, що для створення правильного машинного коду функції йому необхідно повідомити до її першого виклику тип результату, що повертається, а також кількість і типи аргументів. Для цієї мети в С використовується поняття прототипу функції.

Прототип функції задається так:

тип <ім'я функції>(список параметрів);

Використання прототипу функції є оголошенням функції (dесlагаtіоn).

Найчастіше прототип функції цілком збігається з заголовком в описі функції, хоча це і не завжди так. При оголошенні функції компілятору важливо знати ім'я функції, кількість і тип параметрів і тип значення, що повертається. При цьому імена формальних параметрів функції не грають ніякої ролі та ігноруються компілятором. Тому прототип функції може виглядати так:

int func(int a, float b, char*c);

чи так:

int func(int, float, char*);

Два цих оголошення повністю рівносильні.

Приклад:

#include<stdio.h>

float sqr(float a);)/*Це прототип функції*/

main()

{

float b;

b=5.2;

printf(“Квадрат числа %f дорівнює %f”, b, sqr(b));

}

float sqr(float a)/*Опис функції*/

{

return a*a;

}

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

Це повинно стосуватися і функції main(). Її оголошення повинне мати вид void main(void) чи main(void).

Приклад:

#include<stdio.h>

void line_(void);/**/

main(void)

{

line_();

}

void line_(void)

{

int I;

for(i=0; i<80; i++) printf(“-”);

}

Ми вже говорили про стандартні заголовні файли (header files). Заголовні файли мови Сі містять два типи інформації: перший - це окремі визначення, що використовуються функціями. Другий - це прототипи функцій, що відносяться до цього заголовного файлу. Прикладами таких заголовних файлів є файли stdio.h,, string.h, conio.h і ін.





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



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