{"id":139,"date":"2015-02-20T11:14:39","date_gmt":"2015-02-20T11:14:39","guid":{"rendered":"http:\/\/anthroponaute.fr\/blog-informatique\/?p=139"},"modified":"2015-03-15T08:25:28","modified_gmt":"2015-03-15T08:25:28","slug":"fonctions-a-nombres-variables-darguments","status":"publish","type":"post","link":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/?p=139","title":{"rendered":"Fonction \u00e0 nombres variables d&rsquo;arguments"},"content":{"rendered":"<p><strong>Intro :<br \/>\n<\/strong><\/p>\n<p>Il peut \u00eatre utile de passer un nombre ind\u00e9fini de param\u00e8tres \u00e0 une fonction.<\/p>\n<p>Il faut inclure au minimum un param\u00e8tre obligatoire. Ensuite on peut passer un nombre ind\u00e9fini d&rsquo;arguments \u00e0 la fonction.<\/p>\n<p><strong>Exemple\u00a0 :<\/strong><\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n    void nomFonction(int parametreA, ...);\r\n<\/pre>\n<p>Les trois petits points (&#8230;) indique au compilateur que la fonction peut prendre plusieurs arguments.<\/p>\n<p>Il faut inclure &lt;stdarg.h&gt; pour acc\u00e9der aux fonctions et macros de manipulation des param\u00e8tres variables.<\/p>\n<p>On doit indiquer en param\u00e8tre le nombre d&rsquo;arguments pass\u00e9s par cette fonction ! (ici \u00ab\u00a0int n\u00a0\u00bb)<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;stdarg.h&gt;\r\n\r\nvoid f (int n, ...)\r\n{\r\n   va_list va;\r\n   va_start (va, n);\r\n\r\n\u00a0\u00a0 for (unsigned int i = 0; i &lt; n; i++)\r\n\u00a0\u00a0 {\r\n\u00a0\u00a0    char* sArgName = va_arg(va, char*);\r\n\u00a0\u00a0 }\r\n\r\n   va_end (va);\r\n}\r\n<\/pre>\n<p>Ici on r\u00e9cup\u00e8re des variables de type char* (chaine de caract\u00e8res).<\/p>\n<p><strong>R\u00e9sum\u00e9 :<\/strong><\/p>\n<p>Les fonctions qui peuvent prendre un nombre variable d&rsquo;arguments ne sont pas toujours utilis\u00e9es mais peuvent toujours \u00eatre utiles.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Intro : Il peut \u00eatre utile de passer un nombre ind\u00e9fini de param\u00e8tres \u00e0 une fonction. Il faut inclure au minimum un param\u00e8tre obligatoire. Ensuite on peut passer un nombre ind\u00e9fini d&rsquo;arguments \u00e0 la fonction. Exemple\u00a0 : Les trois petits points (&#8230;) indique au compilateur que la fonction peut prendre plusieurs arguments. Il faut inclure [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/139"}],"collection":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=139"}],"version-history":[{"count":24,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/139\/revisions"}],"predecessor-version":[{"id":164,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/139\/revisions\/164"}],"wp:attachment":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}