{"id":2350,"date":"2025-07-13T11:01:32","date_gmt":"2025-07-13T10:01:32","guid":{"rendered":"https:\/\/workboot.fr\/ciela\/?page_id=2350"},"modified":"2025-12-09T09:02:07","modified_gmt":"2025-12-09T08:02:07","slug":"passage-de-parametre-en-c","status":"publish","type":"page","link":"https:\/\/workboot.fr\/ciela\/passage-de-parametre-en-c\/","title":{"rendered":"Passage de param\u00e8tre(s) en C"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Pr\u00e9sentation:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On appel un param\u00e8tre ou un argument ce que l&rsquo;on passe au code juste avant l&rsquo;ex\u00e9cution (car le code est vu comme une fonction) sous Unix, sous linux ..et m\u00eame sous windows (dos)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">par <strong>ls -l<\/strong> , <strong>ls<\/strong> est le programme ou la commande (le code ex\u00e9cutable) <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">-l <\/mark>est un argument, donc il est \u00e9vident que c&rsquo;est important<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">vous pouvez tester par exemple firefox !<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>firefox <strong>https:\/\/workboot.fr<\/strong><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En langage C, la fonction <code>main<\/code> constitue le point d\u2019entr\u00e9e principal d\u2019un programme. Conform\u00e9ment aux conventions \u00e9tablies par Brian Kernighan et Dennis Ritchie (K&amp;R), il est courant \u2014 et recommand\u00e9 \u2014 de d\u00e9finir la fonction <code>main<\/code> sous la forme suivante :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">int main(int argc, char *argv[])\n\nou \nint main (int argc, char **argv)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cette signature permet de recevoir les arguments pass\u00e9s en ligne de commande au moment de l\u2019ex\u00e9cution du programme. Le passage de param\u00e8tres via <code>argc<\/code> et <code>argv<\/code> est une convention respect\u00e9e par l\u2019ensemble des programmes C portables et compatibles avec les syst\u00e8mes UNIX et POSIX, et elle permet une grande souplesse dans le contr\u00f4le du comportement d\u2019un programme.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>argc<\/code> (argument count) repr\u00e9sente le nombre total d\u2019arguments pass\u00e9s au programme, y compris le nom du programme lui-m\u00eame.<\/li>\n\n\n\n<li><code>argv<\/code> (argument vector) est un tableau de cha\u00eenes de caract\u00e8res repr\u00e9sentant chaque argument pass\u00e9.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Par exemple, si le programme est lanc\u00e9 avec :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;stdio.h>\n#include &lt;stdlib.h>\n\nint main(int argc,char **argv)\n{\n    int cpt;\n\n    printf(\"Nombre d'arguments : %d\\n\", argc);\n\n    for (cpt = 0; cpt &lt; argc; cpt++) {\n        printf(\"Argument %d : %s\\n\", cpt, argv[cpt]);\n    }\n\n    return EXIT_SUCCESS;\n}<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># exemple de syntaxe\n.\/mon_programme fichier.txt -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">alors :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>argc == 3<\/code><\/li>\n\n\n\n<li><code>argv[0] == \".\/mon_programme\"<\/code><\/li>\n\n\n\n<li><code>argv[1] == \"fichier.txt\"<\/code><\/li>\n\n\n\n<li><code>argv[2] == \"-v\"<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Code utilisant le passage param\u00e8tre.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pr\u00e9sentation: On appel un param\u00e8tre ou un argument ce que l&rsquo;on passe au code juste avant l&rsquo;ex\u00e9cution (car le code est vu comme une fonction) sous Unix, sous linux ..et m\u00eame sous windows (dos) par ls -l , ls est le programme ou la commande (le code ex\u00e9cutable) -l est un argument, donc il est [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-2350","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"admin","author_link":"https:\/\/workboot.fr\/ciela\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"Pr\u00e9sentation: On appel un param\u00e8tre ou un argument ce que l&rsquo;on passe au code juste avant l&rsquo;ex\u00e9cution (car le code est vu comme une fonction) sous Unix, sous linux ..et m\u00eame sous windows (dos) par ls -l , ls est le programme ou la commande (le code ex\u00e9cutable) -l est un argument, donc il est\u2026","_links":{"self":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/2350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/comments?post=2350"}],"version-history":[{"count":13,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/2350\/revisions"}],"predecessor-version":[{"id":5698,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/2350\/revisions\/5698"}],"wp:attachment":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/media?parent=2350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}