Չե՞ք սահմանում c-ոճի փոփոխական ֆունկցիա:

Բովանդակություն:

Չե՞ք սահմանում c-ոճի փոփոխական ֆունկցիա:
Չե՞ք սահմանում c-ոճի փոփոխական ֆունկցիա:
Anonim

Հետևաբար, C- ոճի փոփոխական ֆունկցիայի գործարկման ժամանակի զանգը, որը փոխանցում է ոչ պատշաճ արգումենտներ, տալիս է չսահմանված behavior: … Նման չսահմանված վարքագիծը կարող է օգտագործվել կամայական կոդ գործարկելու համար:

Ի՞նչ է variadic ֆունկցիան C-ում:

Variadic ֆունկցիաները ֆունկցիաներ են, որոնք կարող են ընդունել փոփոխական թվով արգումենտներ: C ծրագրավորման մեջ փոփոխական ֆունկցիան ավելացնում է ճկունություն ծրագրին: Այն պահանջում է մեկ ֆիքսված արգումենտ, այնուհետև կարելի է փոխանցել ցանկացած թվով արգումենտ:

Վարիադիկ ֆունկցիաները վա՞տ են:

Պատճառներն են. Կաղապարի փոփոխական ֆունկցիաները գիտեն իրենց արգումենտների և՛ թվերը, և՛ տեսակները: Նրանք անվտանգ են տիպի համար, մի փոխեք նրանց արգումենտների տեսակները:

Ինչպե՞ս եք հայտարարում փոփոխական ֆունկցիա C++-ում:

Վարիադիկ ֆունկցիաները ֆունկցիաներ են (օրինակ՝ std::printf), որոնք ընդունում են փոփոխական թվով արգումենտներ: Variadic ֆունկցիա հայտարարելու համար պարամետրերի ցանկից հետո հայտնվում է an էլիպսիս, օրինակ. int printf(const char format…);, որին կարող է նախորդել կամընտիր ստորակետ:

Ինչպե՞ս եք փոխանցում variadic պարամետրերը մեկ այլ ֆունկցիայի:

Դուք չեք կարող փոփոխական արգումենտները փոխանցել փոփոխական ֆունկցիայի: Փոխարենը, դուք պետք է կանչեք մի ֆունկցիա, որն ընդունում է va_list որպես արգումենտ: Ստանդարտ գրադարանը տրամադրում է printf-ի և scanf-ի տարբերակներ, որոնք վերցնում են va_list; նրանց անուններն ունեն v նախածանց.

Խորհուրդ ենք տալիս: