Функцияларды сипаттау


Си тіліндегі түрі:

функция_атының (формальді_параметрлердің_спецификациясы)

типі {

обьект_сипаттамасы;

орындалатын _операторлар;

}

Бірінші жолбұл функцияның тақырыпшасы.Ол келесі берілгендерден тұрады:

Типфункция қайтаратын мәндердің типі. Егер функция мән қайтармаса, онда оның типі ретінде void қолданылған.

Функция аты – программаның қызметтік сөздерімен, басқа обьектілердің атымен сәйкес келмейтін, программист өз еркімен таңдайтын ат.

Формальді параметрлер спецификациясы – не формальді параметрлер тізімі, не бос, оның әр элеентінің түрі келесідей:

типтің_анықталуы параметр ты

Функцияның денесі – бұл фигуралық жақшалармен шектелген және функцияның тақырыпшасынан кейін орналасатын функция сипаттамасының бөлігі. Функция денесі обьектінің сипаттамасынан (мысалы, айнымалыларды сипаттаудан) және орындалатын оператордан тұруы мүкін. Си тілінің ерекшелігі функция денесінің ішінде басқа функцияны сипатай алмауында.

Функция денесінің міндетті операторы функциядан шақыру нүктесіне қайту болып табылады, оның екі түрі бар:

return;

return өрнек;

Бірінші форма ешқандай мән қайтармай, функцияны аяқтайды, яғни, оның сипаттамасында функция атына void типін көрсеткен.

Екінші формада өрнек функция атының алдында, оны сипаттау бөлімінде функция қайтаратын мәнге автоматты түрде түрлендіретін типке сипатталуы керек.

Ескерту: Си тілінде функцияны сипаттаудың "ескі" формасы бар:

Функция атының типі (формальді _ параметрлер _типі)

параметрлер _ спецификациясы;

{

Обьектілер _сипаттамасы;

Орындалатын _операторлар;

}

Мысал:

1.Функцияның сипаттамасының стандартты формасы:

double f(int n, float x)

{

Функция денесі

}

2. Функцияның сипаттамасының "ескі" формасы:

double f(n, x)

int n;

float x;

{

Функция денесі

}

Бұл функциялардың сипаттамалары эквивалентті.

Функцияның сипаттамасы

Функция шақырылмас бұрын негізгі программада сипатталуы керек.

Стандартты түрде анықталған функцияның сипаттамасы негізгі программада орналасатын, оның прототипі болып табылады:

функция_ атының типі (формальді _ параметрлер _типі);

Функцияның тақырыпшасына қарағанда, оның прототипінде форальді параметрлердің атын көрсетпеуге болады.

Ескерту:

Егер функцияның сипатталуы негізгі программа мәтінін дейінгі программа мәтінінде орналасса, онда негізгі программада прототипті жазу міндетті емес.