<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-menu-disabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-os vector-sticky-header-enabled skin-theme-clientpref-thumb-standard" lang="pt" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>Stdarg.h</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://pt.wikipedia.org/wiki/Stdarg.h"> <link href="./_mw_/ext.cite.parsoid.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/mediawiki.skinning.content.parsoid.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    <link href="./_mw_/ext.gadget.keepPDU.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
  </head>
  <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Stdarg_h rootpage-Stdarg_h skin-vector-2022 action-view">
    <div class="mw-page-container">
      <div class="mw-page-container-inner">
        <div class="mw-content-container">
          <main id="content" class="mw-body">
            <header class="mw-body-header vector-page-titlebar">
              <h1 id="firstHeading" class="firstHeading mw-first-heading">stdarg.h</h1>
            </header>
            <a id="top"></a>
            <div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
              <div id="contentSub">
                <div id="mw-content-subtitle"></div>
              </div>
              <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="pt" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="pt" dir="ltr" data-mw-parsoid-version="0.24.0.0-alpha2" data-mw-html-version="2.8.0"><section data-mw-section-id="0" id="mwAQ"><span class="mw-empty-elt" typeof="mw:Transclusion" id="mwAg"><style data-mw-deduplicate="TemplateStyles:r71224021" typeof="mw:Extension/templatestyles">
/* start https://pt.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end   https://pt.wikipedia.org/ */
</style></span><span class="mw-empty-elt"></span>
<table class="infobox" style="text-align: center; font-size:90%;" typeof="mw:Transclusion" id="mwBA">
<tbody><tr><td style="text-align: center;"><b><a rel="mw:WikiLink" href="Biblioteca_padr%C3%A3o_do_C" title="Biblioteca padrão do C">Biblioteca padrão do C</a></b></td></tr>
<tr>
<td style="text-align: left;">
<ul><li><a rel="mw:WikiLink" href="Assert.h" title="Assert.h">assert.h</a></li>
<li><a rel="mw:WikiLink" href="Complex.h" title="Complex.h">complex.h</a></li>
<li><a rel="mw:WikiLink" href="Ctype.h" title="Ctype.h">ctype.h</a></li>
<li><a rel="mw:WikiLink" href="Errno.h" title="Errno.h">errno.h</a></li>
<li>fenv.h</li>
<li><a rel="mw:WikiLink" href="Float.h" title="Float.h">float.h</a></li>
<li>inttypes.h</li>
<li><a rel="mw:WikiLink" href="Iso646.h" title="Iso646.h">iso646.h</a></li>
<li><a rel="mw:WikiLink" href="Limits.h" title="Limits.h">limits.h</a></li>
<li><a rel="mw:WikiLink" href="Locale.h" title="Locale.h" class="mw-redirect">locale.h</a></li>
<li><a rel="mw:WikiLink" href="Math.h" title="Math.h">math.h</a></li>
<li><a rel="mw:WikiLink" href="Setjmp.h" title="Setjmp.h">setjmp.h</a></li>
<li><a rel="mw:WikiLink" href="Signal.h" title="Signal.h">signal.h</a></li>
<li><a rel="mw:WikiLink" href="Stdarg.h" class="mw-selflink selflink">stdarg.h</a></li>
<li><a rel="mw:WikiLink" href="Stdbool.h" title="Stdbool.h">stdbool.h</a></li>
<li><a rel="mw:WikiLink" href="Stddef.h" title="Stddef.h">stddef.h</a></li>
<li><a rel="mw:WikiLink" href="Stdint.h" title="Stdint.h">stdint.h</a></li>
<li><a rel="mw:WikiLink" href="Stdio.h" title="Stdio.h">stdio.h</a></li>
<li><a rel="mw:WikiLink" href="Stdlib.h" title="Stdlib.h">stdlib.h</a></li>
<li><a rel="mw:WikiLink" href="String.h" title="String.h">string.h</a></li>
<li><a rel="mw:WikiLink" href="Tgmath.h" title="Tgmath.h" class="mw-redirect">tgmath.h</a></li>
<li><a rel="mw:WikiLink" href="Time.h" title="Time.h">time.h</a></li>
<li><a rel="mw:WikiLink" href="Wchar.h" title="Wchar.h" class="mw-redirect">wchar.h</a></li>
<li><a rel="mw:WikiLink" href="Wctype.h" title="Wctype.h" class="mw-redirect">wctype.h</a></li></ul></td></tr>

</tbody></table>

<p id="mwBQ"><b id="mwBg"><code id="mwBw">stdarg.h</code></b> é um cabeçalho da <a rel="mw:WikiLink" href="Biblioteca_padr%C3%A3o_do_C" title="Biblioteca padrão do C" id="mwCA">biblioteca padrão do C</a> da  <a rel="mw:WikiLink" href="Linguagem_de_programa%C3%A7%C3%A3o" title="Linguagem de programação" id="mwCQ">linguagem de programação</a> <a rel="mw:WikiLink" href="C_(linguagem_de_programa%C3%A7%C3%A3o)" title="C (linguagem de programação)" id="mwCg">C</a> que permite que funções utilizem um número indefinido de argumentos<sup class="mw-ref reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1" id="mwCw"><span class="mw-reflink-text" id="mwDA"><span class="cite-bracket" id="mwDQ">[</span>1<span class="cite-bracket" id="mwDg">]</span></span></a></sup>. Ela provê facilidades de navegação entre uma lista de argumentos sem que a quantidade e o tipo de argumentos seja conhecido. A linguagem <a rel="mw:WikiLink" href="C%2B%2B" title="C++" id="mwDw">C++</a> implementa tal funcionalidade no cabeçalho <code id="mwEA">cstdarg</code>; Apesar de permitido, o cabeçalho C é obsoleto no C++<span style="color:gray" typeof="mw:Transclusion" id="mwEQ"><sup><span typeof="mw:Entity">[</span></sup></span><sup><span title="Esta afirmação precisa de uma referência para confirmá-la desde fevereiro de 2012." style="color:gray"><i>carece<span typeof="mw:Entity">&nbsp;</span>de fontes</i></span><span class="printfooter">?</span><span style="color:gray"><span typeof="mw:Entity">]</span></span></sup>.</p>

</section><section data-mw-section-id="1" id="mwFA" aria-labelledby="Declarando_funções_variádicas"><div class="mw-heading mw-heading2"><h2 id="Declarando_funções_variádicas"><span id="Declarando_fun.C3.A7.C3.B5es_vari.C3.A1dicas" typeof="mw:FallbackId"></span>Declarando funções variádicas</h2></div>

<p id="mwFQ">Funções variádicas são funções que podem receber um número variável de argumentos, sinalizadas através de <a rel="mw:WikiLink" href="Retic%C3%AAncias" title="Reticências" id="mwFg">reticências</a> no lugar do último parâmetro. Um exemplo é a função <code id="mwFw"><a rel="mw:WikiLink" href="Printf" title="Printf" id="mwGA">printf</a></code>. Uma declaração típica:</p>

<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr" typeof="mw:Extension/syntaxhighlight" id="mwGQ"><pre id="mwGg"><span id="mwGw"></span><span class="kt" id="mwHA">int</span><span class="w" id="mwHQ"> </span><span class="nf" id="mwHg">check</span><span class="p" id="mwHw">(</span><span class="kt" id="mwIA">int</span><span class="w" id="mwIQ"> </span><span class="n" id="mwIg">a</span><span class="p" id="mwIw">,</span><span class="w" id="mwJA"> </span><span class="kt" id="mwJQ">double</span><span class="w" id="mwJg"> </span><span class="n" id="mwJw">b</span><span class="p" id="mwKA">,</span><span class="w" id="mwKQ"> </span><span class="p" id="mwKg">...);</span>
</pre></div>

<p id="mwKw">As funções variádicas precisam possuir ao menos um parâmetro nomeado portanto,</p>

<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr" typeof="mw:Extension/syntaxhighlight" id="mwLA"><pre id="mwLQ"><span id="mwLg"></span><span class="kt" id="mwLw">char</span><span class="w" id="mwMA"> </span><span class="o" id="mwMQ">*</span><span class="nf" id="mwMg">wrong</span><span class="p" id="mwMw">(...);</span>
</pre></div>

<p id="mwNA">não é permitido no C.(Em C++ tal declaração é permitida, mesmo não sendo muito útil.) Em C, uma vírgula precisa preceder as reticências; no C++, é opcional.</p>

</section><section data-mw-section-id="2" id="mwNQ" aria-labelledby="Definindo_funções_variádicas"><div class="mw-heading mw-heading2"><h2 id="Definindo_funções_variádicas"><span id="Definindo_fun.C3.A7.C3.B5es_vari.C3.A1dicas" typeof="mw:FallbackId"></span>Definindo funções variádicas</h2></div>
<p id="mwNg">A mesma sintaxe é utilizada durante a definição:</p>

<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr" typeof="mw:Extension/syntaxhighlight" id="mwNw"><pre id="mwOA"><span id="mwOQ"></span><span class="kt" id="mwOg">long</span><span class="w" id="mwOw"> </span><span class="nf" id="mwPA">func</span><span class="p" id="mwPQ">(</span><span class="kt" id="mwPg">char</span><span class="p" id="mwPw">,</span><span class="w" id="mwQA"> </span><span class="kt" id="mwQQ">double</span><span class="p" id="mwQg">,</span><span class="w" id="mwQw"> </span><span class="kt" id="mwRA">int</span><span class="p" id="mwRQ">,</span><span class="w" id="mwRg"> </span><span class="p" id="mwRw">...);</span>

<span class="kt" id="mwSA">long</span><span class="w" id="mwSQ"> </span><span class="nf" id="mwSg">func</span><span class="p" id="mwSw">(</span><span class="kt" id="mwTA">char</span><span class="w" id="mwTQ"> </span><span class="n" id="mwTg">a</span><span class="p" id="mwTw">,</span><span class="w" id="mwUA"> </span><span class="kt" id="mwUQ">double</span><span class="w" id="mwUg"> </span><span class="n" id="mwUw">b</span><span class="p" id="mwVA">,</span><span class="w" id="mwVQ"> </span><span class="kt" id="mwVg">int</span><span class="w" id="mwVw"> </span><span class="n" id="mwWA">c</span><span class="p" id="mwWQ">,</span><span class="w" id="mwWg"> </span><span class="p" id="mwWw">...)</span>
<span class="p" id="mwXA">{</span>
<span class="w" id="mwXQ">    </span><span class="cm" id="mwXg">/* ... */</span>
<span class="p" id="mwXw">}</span>
</pre></div>

<p id="mwYA">As reticências podem aparecer em definições ao estilo antigo::</p>

<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr" typeof="mw:Extension/syntaxhighlight" id="mwYQ"><pre id="mwYg"><span id="mwYw"></span><span class="kt" id="mwZA">long</span><span class="w" id="mwZQ"> </span><span class="nf" id="mwZg">func</span><span class="p" id="mwZw">();</span>

<span class="kt" id="mwaA">long</span><span class="w" id="mwaQ"> </span><span class="nf" id="mwag">func</span><span class="p" id="mwaw">(</span><span class="n" id="mwbA">a</span><span class="p" id="mwbQ">,</span><span class="w" id="mwbg"> </span><span class="n" id="mwbw">b</span><span class="p" id="mwcA">,</span><span class="w" id="mwcQ"> </span><span class="n" id="mwcg">c</span><span class="p" id="mwcw">,</span><span class="w" id="mwdA"> </span><span class="p" id="mwdQ">...)</span>
<span class="w" id="mwdg">    </span><span class="kt" id="mwdw">char</span><span class="w" id="mweA"> </span><span class="n" id="mweQ">a</span><span class="p" id="mweg">;</span>
<span class="w" id="mwew">    </span><span class="kt" id="mwfA">double</span><span class="w" id="mwfQ"> </span><span class="n" id="mwfg">b</span><span class="p" id="mwfw">;</span>
<span class="p" id="mwgA">{</span>
<span class="w" id="mwgQ">    </span><span class="cm" id="mwgg">/* ... */</span>
<span class="p" id="mwgw">}</span>
</pre></div>

</section><section data-mw-section-id="3" id="mwhA" aria-labelledby="Tipos_stdarg.h"><div class="mw-heading mw-heading2"><h2 id="Tipos_stdarg.h">Tipos <code id="mwhQ">stdarg.h</code></h2></div>

<table class="wikitable" id="mwhg">
<tbody id="mwhw"><tr id="mwiA">
<th id="mwiQ">Nome</th><th id="mwig">Descrição</th><th id="mwiw">Compatibilidade</th></tr>
<tr id="mwjA">
<td id="mwjQ"><code id="mwjg"><a rel="mw:ExtLink nofollow" href="http://c-p-p.net/c/stdarg.h/va_list" class="external text" id="mwjw">va_list</a></code></td><td id="mwkA">tipo de iteração de argumentos</td><td id="mwkQ"><a rel="mw:WikiLink" href="C89" title="C89" class="mw-redirect" id="mwkg">C89</a></td></tr>
</tbody></table>

</section><section data-mw-section-id="4" id="mwkw" aria-labelledby="Macros_stdarg.h"><div class="mw-heading mw-heading2"><h2 id="Macros_stdarg.h">Macros <code id="mwlA">stdarg.h</code></h2></div>

<table class="wikitable" id="mwlQ">
<tbody id="mwlg"><tr id="mwlw">
<th id="mwmA">Nome</th><th id="mwmQ">Descrição</th><th id="mwmg">Compatibilidade</th></tr>
<tr id="mwmw">
<td id="mwnA"><code id="mwnQ"><a rel="mw:ExtLink nofollow" href="http://c-p-p.net/c/stdarg.h/va_start" class="external text" id="mwng">va_start</a></code></td><td id="mwnw">Comece a iteração com um <code id="mwoA">va_list</code></td><td id="mwoQ">C89</td></tr>
<tr id="mwog">
<td id="mwow"><code id="mwpA"><a rel="mw:ExtLink nofollow" href="http://c-p-p.net/c/stdarg.h/va_arg" class="external text" id="mwpQ">va_arg</a></code></td><td id="mwpg">Recupere um argumento</td><td id="mwpw">C89</td></tr>
<tr id="mwqA">
<td id="mwqQ"><code id="mwqg"><a rel="mw:ExtLink nofollow" href="http://c-p-p.net/c/stdarg.h/va_end" class="external text" id="mwqw">va_end</a></code></td><td id="mwrA">Limpe um <code id="mwrQ">va_list</code></td><td id="mwrg">C89</td></tr>
<tr id="mwrw">
<td id="mwsA"><code id="mwsQ"><a rel="mw:ExtLink nofollow" href="http://c-p-p.net/c/stdarg.h/va_copy" class="external text" id="mwsg">va_copy</a></code></td><td id="mwsw">Copie o conteúdo de um <code id="mwtA">va_list</code> para outro</td><td id="mwtQ"><a rel="mw:WikiLink" href="C99" title="C99" class="mw-redirect" id="mwtg">C99</a></td></tr>
</tbody></table>

</section><section data-mw-section-id="-1" id="mwtw" aria-labelledby="Referências"><div class="mw-heading mw-heading2"><h2 typeof="mw:Transclusion" id="Referências"><span id="Refer.C3.AAncias" typeof="mw:FallbackId"></span><span style="cursor: help;" title="Esta seção foi configurada para não ser editável diretamente. Edite a página toda ou a seção anterior em vez disso.">Referências</span></h2></div><span>

</span><div class="reflist" style=" list-style-type: decimal;" id="mwuA"><div class="mw-references-wrap" typeof="mw:Extension/references" id="mwuQ"><ol class="mw-references references" id="mwug"><li id="cite_note-1" data-mw-footnote-number="1"><span class="mw-cite-backlink" id="mwuw"><a href="#cite_ref-1" rel="mw:referencedBy" id="mwvA"><span class="mw-linkback-text" id="mwvQ">↑</span></a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text reference-text"><cite class="citation web" typeof="mw:Transclusion" id="mwvg"><a rel="mw:ExtLink nofollow" href="http://www.opengroup.org/onlinepubs/009695399/basedefs/stdarg.h.html" class="external text" id="mwvw">«IEEE Std 1003.1 <code id="mwwA">stdarg.h</code>»</a><span class="reference-accessdate" id="mwwQ">. Consultado em 4 de julho de 2009</span></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fpt.wikipedia.org%3AStdarg.h&amp;rft.btitle=IEEE+Std+1003.1+%3Ccode%3Estdarg.h%3C%2Fcode%3E&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.opengroup.org%2Fonlinepubs%2F009695399%2Fbasedefs%2Fstdarg.h.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988" id="mwwg"><span style="display:none;" id="mwww"><span typeof="mw:Entity" id="mwxA">&nbsp;</span></span></span></span></li>
</ol></div></div>

<span class="mw-empty-elt"></span>
<span typeof="mw:Transclusion" id="mwxg"></span>
</section></div><!--htdig_noindex--><div><div class="zim-footer">
    Este artigo é emitido por <a class="external text" title="Última edição em 2021-09-08" href="https://pt.wikipedia.org/wiki/?title=Stdarg.h&amp;oldid=62008634">Wikipédia</a>. O texto é licenciado sob <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.pt">Creative Commons Attribution-Share Alike 4.0</a>. Termos adicionais podem ser aplicados aos arquivos de mídia.
</div>
</div><!--/htdig_noindex--></div>
            </div>
          </main>
        </div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>