<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=OurMajorLangIsCAndCPlusPlus%2FFunction</id>
	<title>OurMajorLangIsCAndCPlusPlus/Function - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=OurMajorLangIsCAndCPlusPlus%2FFunction"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=OurMajorLangIsCAndCPlusPlus/Function&amp;action=history"/>
	<updated>2026-05-15T00:25:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=OurMajorLangIsCAndCPlusPlus/Function&amp;diff=37357&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=OurMajorLangIsCAndCPlusPlus/Function&amp;diff=37357&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== static 함수 ===&lt;br /&gt;
* 해당 파일 내에서만 유효한 함수&lt;br /&gt;
 static int func(int a, int b)&lt;br /&gt;
 {&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
=== 가변 전달인자 ===&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdarg.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int sum(int n, ...)&lt;br /&gt;
 {&lt;br /&gt;
 	int sum = 0;&lt;br /&gt;
 &lt;br /&gt;
 	va_list list;&lt;br /&gt;
 	va_start(list, n);&lt;br /&gt;
 &lt;br /&gt;
 	for(int i = 0 ; i &amp;amp;lt; n ; i++)&lt;br /&gt;
 		sum += va_arg(list, int);&lt;br /&gt;
 	&lt;br /&gt;
 	va_end(list);&lt;br /&gt;
 &lt;br /&gt;
 	return sum;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	int s = sum(5, 10, 20, 30, 40, 50);&lt;br /&gt;
 	printf(&amp;quot;s = %d\n&amp;quot;, s);&lt;br /&gt;
 }&lt;br /&gt;
=== 디폴트 전달인자 (C++) ===&lt;br /&gt;
 int func(int a, int b = 10, int c = 30);&lt;br /&gt;
=== 함수의 오버로딩 (C++) ===&lt;br /&gt;
 int abs(int v)&lt;br /&gt;
 {&lt;br /&gt;
 	if(v &amp;amp;lt; 0)&lt;br /&gt;
 		return -v;&lt;br /&gt;
 	else&lt;br /&gt;
 		return v;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 double abs(double v)&lt;br /&gt;
 {&lt;br /&gt;
 	if(v &amp;amp;lt; 0.0)&lt;br /&gt;
 		return -v;&lt;br /&gt;
 	else&lt;br /&gt;
 		return v;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 float abs(float v)&lt;br /&gt;
 {&lt;br /&gt;
 	if(v &amp;amp;lt; 0.0F)&lt;br /&gt;
 		return -v;&lt;br /&gt;
 	else&lt;br /&gt;
 		return v;&lt;br /&gt;
 }&lt;br /&gt;
=== 템플릿 함수 (C++) ===&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 template&amp;amp;lt;typename T&amp;amp;gt;&lt;br /&gt;
 T abs(T v)&lt;br /&gt;
 {&lt;br /&gt;
 	if(v &amp;amp;lt; 0)&lt;br /&gt;
 		return -v;&lt;br /&gt;
 	else&lt;br /&gt;
 		return v;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	int a = abs(-10);&lt;br /&gt;
 	printf(&amp;quot;%d\n&amp;quot;, a);&lt;br /&gt;
 }&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 template&amp;amp;lt;typename T&amp;amp;gt;&lt;br /&gt;
 T abs(T v)&lt;br /&gt;
 {&lt;br /&gt;
 	if(v &amp;amp;lt; 0)&lt;br /&gt;
 		return -v;&lt;br /&gt;
 	else&lt;br /&gt;
 		return v;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	double a = abs&amp;amp;lt;double&amp;amp;gt;(-10);&lt;br /&gt;
 	printf(&amp;quot;%f\n&amp;quot;, a);&lt;br /&gt;
 }&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 template&amp;amp;lt;class T&amp;amp;gt; void print(T a)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;not supported\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 template&amp;amp;lt;&amp;amp;gt; void print&amp;amp;lt;const char *&amp;amp;gt;(const char *a)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;%s\n&amp;quot;, a);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 template&amp;amp;lt;&amp;amp;gt; void print&amp;amp;lt;int&amp;amp;gt;(int a)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;%d\n&amp;quot;, a);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	print(&amp;quot;adfgasg&amp;quot;);&lt;br /&gt;
 	print(121);&lt;br /&gt;
 	print(0.23);&lt;br /&gt;
 }&lt;br /&gt;
=== 인라인 함수 (C++) ===&lt;br /&gt;
 #define toupper(a) ((a) &amp;amp;gt;= &amp;#039;a&amp;#039; &amp;amp;amp;&amp;amp;amp; ((a) &amp;amp;lt;= &amp;#039;z&amp;#039;) ? ((a)-(&amp;#039;a&amp;#039;-&amp;#039;A&amp;#039;)):(a))&lt;br /&gt;
 &lt;br /&gt;
 vs.&lt;br /&gt;
 &lt;br /&gt;
 inline char toupper( char a ) {&lt;br /&gt;
    return ((a &amp;amp;gt;= &amp;#039;a&amp;#039; &amp;amp;amp;&amp;amp;amp; a &amp;amp;lt;= &amp;#039;z&amp;#039;) ? a-(&amp;#039;a&amp;#039;-&amp;#039;A&amp;#039;) : a );&lt;br /&gt;
 }&lt;br /&gt;
=== Linkage 지정 (C++) ===&lt;br /&gt;
 extern &amp;quot;C&amp;quot; void func(int a, int b);&lt;br /&gt;
 &lt;br /&gt;
 extern &amp;quot;C&amp;quot; {&lt;br /&gt;
    void func(int a, int b);&lt;br /&gt;
 }&lt;br /&gt;
=== 함수 포인터 ===&lt;br /&gt;
 int (*fp)(int, int, int);&lt;br /&gt;
----&lt;br /&gt;
[[OurMajorLangIsCAndCPlusPlus]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>