Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



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

Особливістю стандарту А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 і ін.




Переглядів: 529

<== попередня сторінка | наступна сторінка ==>
ЛАБОРАТОРНА РОБОТА № 5 | Метод половинного ділення

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.015 сек.