Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»


void err(int errValue = errno); // errno – ауқымды



Pdf көрінісі
бет79/465
Дата23.05.2022
өлшемі3.66 Mb.
#458577
түріПрограмма
1   ...   75   76   77   78   79   80   81   82   ...   465
pavlovskaia-jogargy-dengeili

void err(int errValue = errno); // errno – ауқымды
// айнымалы
...
// f функциясын шақыру нұсқалары:
f(100); f(a, 1); 

// f1 функциясын шақыру нұсқалары:
f1(a); f1(a, 10); f1(a, 10, "Vasia"); 
f1(a,,"Vasia")
// бұл дұрыс емес!
Параметрлерінің саны айнымалы функциялар
Егер функцияның формалды параметрлерінің тізімі көп нүктемен аяқталса, 
оны шақырған кезде осы жерде тағы бірнеше параметр көрсетуге болатынын 
білдіреді. Бұл параметрлер үшін типтердің сəйкестігін тексеру орындалмайды, 
char
жəне 
short
типтері
 
int 
ретінде, ал 
fl oat
 типі 
double
ретінде беріледі. 
Мысал ретінде 
printf
 функциясын келтіруге болады, оның прототипі келесі
түрде беріледі:
int printf (const char*, ...);
Жоғарыдағы мысал функцияны шақыру кезінде кем дегенде бір 
char*
 
типті параметр болуын жəне басқа параметрлердің болуы немесе болмауы 
мүмкін екендігін көрсетеді:
printf("Бастапқы мəліметтерді енгізіңіз");
// бір параметр
printf("Қосынды: %5.2f теңге", sum); 
// екі параметр
printf("%d %d %d %d", a, b, c, d);// бес параметр
Функция ішіндегі міндетті емес параметрлерге қол жеткізу үшін 

тақырыптық файлында орналасқан 
va_start, va_arg
жəне 
va_ end
кітапхана макростары қолданылады. Бұл макростар 5-ші қосымшада 
сипатталған.
Компиляторда типтерді бақылауға қажетті ақпарат жоқ болғандықтан
параметрлерінің саны айнымалы функциялардың орнына келісім бойынша 
берілген параметрлерді немесе асыра жүктелген функцияларды («Функ-
цияларды асыра жүктеу», 86 б.) пайдаланған жөн, бірақ саны айнымалы 
параметрлерді қолдану жақсы нəтиже беретін жағдайларды да көрсетуге 
болады.


85


Достарыңызбен бөлісу:
1   ...   75   76   77   78   79   80   81   82   ...   465




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет