Въпрос за аргументи на функция

2 views
Skip to first unread message

Mihail Zdravkov

unread,
Dec 30, 2011, 11:15:57 AM12/30/11
to ТУЕС Програмно осигуряване 2011
Въпроса ми е как се създават аргументи на функция, които е възможно да
не въведем, така че компилатора да не ни каже: твърде малко
аргумнети...

TriEdgeAI

unread,
Dec 30, 2011, 12:48:44 PM12/30/11
to ТУЕС Програмно осигуряване 2011
Един вариант е с default стойности. Примерно:

double power(double num, double p = 2.0)
{
//bla bla bla
}

Така, ако не подадеш стойност на p, ще се приеме, че е 2.0

Message has been deleted

Lubomir Tzvetkov

unread,
Dec 30, 2011, 12:52:47 PM12/30/11
to cprogrammi...@googlegroups.com
Здравей,
В C това става малко по-гадно отколкото в другите езици. Виж на страница 164 от учебника, там има кратко обяснение и пример. Общо взето добави си stdarg.h и използвай va_list, va_start, va_arg и va_end. Съответно:
va_list - Сочи към списък с аргументите, които си подал.
va_start - Инициализираш да сочи към първия аргумент
va_arg - Взима текущия и премества към следващия
va_end - Извършва "необходимото почистване".

Поздрави, Любо.

TriEdgeAI

unread,
Dec 30, 2011, 12:54:59 PM12/30/11
to ТУЕС Програмно осигуряване 2011
Опа, това е от C++, няма да стане в C
Значи varargs може би...

http://www.cprogramming.com/tutorial/c/lesson17.html

Too late ;D

Reply all
Reply to author
Forward
0 new messages