{"id":2341,"date":"2025-07-13T10:47:26","date_gmt":"2025-07-13T09:47:26","guid":{"rendered":"https:\/\/workboot.fr\/ciela\/?page_id=2341"},"modified":"2026-01-05T09:03:20","modified_gmt":"2026-01-05T08:03:20","slug":"tp2_c-les-parametres","status":"publish","type":"page","link":"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/","title":{"rendered":"TP3_C param\u00e8tres"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\ud83d\udd52 : 3 h maximum<\/p>\n\n\n\n<nav aria-label=\"Table des mati\u00e8res\" class=\"wp-block-table-of-contents\"><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#prerequis\">Pr\u00e9requis:<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#but\"> But:<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#repertoire-du-travail\"> R\u00e9pertoire du travail:<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#presentation\">Pr\u00e9sentation:<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#argc-et-argv\">argc et argv<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#expliquer-le-role-de-argc-et-le-role-argv\">Expliquer le r\u00f4le de argc et le r\u00f4le  argv .<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#on-va-s-interesser-comment-sont-mis-les-64-bits\">on va s\u2019int\u00e9resser comment sont mis les 64 bits<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#et-pour-argc\">Et pour argc <\/a><\/li><\/ol><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#code-c-add-qui-va-additionner-2-entier\">Code c ,add , qui va additionner 2 entier. <\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#utilisation-des-passages-de-parametres-et-algorithmie\">Utilisation des passages de param\u00e8tres et algorithmie<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#l-organigramme\">L&rsquo;organigramme<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#traduire-pl-en-c-travail-final\">Traduire PL en c (travail final !)<\/a><\/li><\/ol><\/li><\/ol><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#code-en-c-et-organigramme-et-pl-de-soustract\">code en c (et organigramme et pl)  de soustract <\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#avec-monia-realiser-un-fichier-organigramme\">avec Monia r\u00e9aliser un fichier organigramme <\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#de-monia-en-extraire-le-fichier-soustrac-pl\">de monia en extraire le fichier  soustrac.pl <\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#traduire-le-pl-en-c\">traduire le pl en c<\/a><\/li><\/ol><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#code-en-c-et-organigramme-et-pl-de-multi\">code en c (et organigramme et pl) de multi<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#avec-monia-realiser-un-fichier-organigramme\">avec Monia r\u00e9aliser un fichier organigramme <\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#de-monia-en-extraire-le-fichier-soustrac-pl\">de monia en extraire le fichier multi.pl<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#traduire-le-pl-en-c\">traduire le pl en c<\/a><\/li><\/ol><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#code-en-c-et-organigramme-et-pl-de-div\">code en c (et organigramme et pl) de div<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#avec-monia-realiser-un-fichier-organigramme\">avec Monia r\u00e9aliser un fichier organigramme <\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#de-monia-en-extraire-le-fichier-soustrac-pl\">de monia en extraire le fichier div.pl<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#traduire-le-pl-en-c\">traduire le pl en c<\/a><\/li><\/ol><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#erreur-a-ne-jamais-faire\">Erreur \u00e0 ne jamais faire !<\/a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#au-passage-justifier-le-resultat-obtenu\">au passage justifier le r\u00e9sultat obtenu<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#maintenant-le-crash\">maintenant le crash !<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#corriger-le-code-en-testant-argc\">Corriger le code en testant argc<\/a><\/li><\/ol><\/li><\/ol><\/nav>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"prerequis\">Pr\u00e9requis:<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>utilisation de gcc et gdb<\/li>\n\n\n\n<li><a href=\"https:\/\/workboot.fr\/ciela\/monia\/\">Monia<\/a> base algorithme , organigrammes , pseudo langage<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"but\"><br>But:<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>apprendre \u00e0 passer des param\u00e8tres a un programme \u00e9crit en c<\/li>\n\n\n\n<li>Organigrammes (monia et PL)<\/li>\n\n\n\n<li>traduire un code en Pseudo Langage en C  et r\u00e9ciproquement<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"repertoire-du-travail\"><br>R\u00e9pertoire du travail:<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">~\/Works\/TP2_C<\/p>\n\n\n\n<hr class=\"wp-block-separator alignfull has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"presentation\">Pr\u00e9sentation:<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">En langage C, la fonction <code>main<\/code> constitue le point <a href=\"https:\/\/workboot.fr\/ciela\/passage-de-parametre-en-c\/\">d\u2019entr\u00e9e principal d\u2019un programme.Cours sur le passage de param\u00e8tres en c<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"argc-et-argv\">argc et argv<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">dans un r\u00e9pertoire param0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">param0.c<\/p>\n\n\n\n<pre><font color=\"#A347BA\">#include <\/font><font color=\"#C01C28\">&lt;stdio.h&gt;<\/font>\n<font color=\"#A347BA\">#include <\/font><font color=\"#C01C28\">&lt;stdlib.h&gt;<\/font>\n\n<font color=\"#26A269\">int<\/font> main(int argc,char ** argv)\n{\n    <font color=\"#26A269\">int<\/font> i;\n\n    printf(<font color=\"#C01C28\">&quot;Nombre d&apos;arguments : <\/font><font color=\"#A347BA\">%d\\n<\/font><font color=\"#C01C28\">&quot;<\/font>, argc);\n\n    <font color=\"#A2734C\">for<\/font> (i = <font color=\"#C01C28\">0<\/font>; i &lt; argc; i++) {\n        printf(<font color=\"#C01C28\">&quot;Argument <\/font><font color=\"#A347BA\">%d<\/font><font color=\"#C01C28\"> : <\/font><font color=\"#A347BA\">%s\\n<\/font><font color=\"#C01C28\">&quot;<\/font>, i, argv[i]);\n    }\n\n    <font color=\"#A2734C\">return<\/font> <font color=\"#C01C28\">EXIT_SUCCESS<\/font>;\n}\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">compiler , tester ce code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">le for est introduit dans ce code , vous allez faire du pas \u00e0 pas avec gdb, regarder  comment fonctionne la boucle for .<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/TP2_C\/param0$ gcc param0.c -o param0 -Wall -ansi -pedantic -g\netudiant@ordi:~\/Works\/TP2_C\/param0$ <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/TP2_C\/param0$ .\/param0\nNombre d'arguments : 1\nArgument 0 : .\/param0\netudiant@ordi:~\/Works\/TP2_C\/param0$ .\/param0 un deux trois                                     \nNombre d'arguments : 4\nArgument 0 : .\/param0\nArgument 1 : un\nArgument 2 : deux\nArgument 3 : trois\netudiant@ordi:~\/Works\/TP2_C\/param0$<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"expliquer-le-role-de-argc-et-le-role-argv\">Expliquer le r\u00f4le de argc et le r\u00f4le  argv .<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">compiler le code de test param0.c, et le lancer dans gdb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous n&rsquo;allez forc\u00e8ment pas retrouver les m\u00eames adresses mais le fonctionnement sera identique .<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/TP2_C\/param0$ ls\nparam0  param0.c\netudiant@ordi:~\/Works\/TP2_C\/param0$ gdb param0 <\/code><\/pre>\n\n\n\n<pre><span style=\"color:#A347BA\"><b>GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git<\/b><\/span>\nCopyright (C) 2024 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 3 or later &lt;<span style=\"color:#26A269\">http:\/\/gnu.org\/licenses\/gpl.html<\/span>&gt;\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\nType &quot;show copying&quot; and &quot;show warranty&quot; for details.\nThis GDB was configured as &quot;x86_64-linux-gnu&quot;.\nType &quot;show configuration&quot; for configuration details.\nFor bug reporting instructions, please see:\n<span style=\"color:#26A269\">&lt;https:\/\/www.gnu.org\/software\/gdb\/bugs\/&gt;<\/span>.\nFind the GDB manual and other documentation resources online at:\n    &lt;<span style=\"color:#26A269\">http:\/\/www.gnu.org\/software\/gdb\/documentation\/<\/span>&gt;.\n\nFor help, type &quot;help&quot;.\nType &quot;apropos word&quot; to search for commands related to &quot;word&quot;...\nReading symbols from <span style=\"color:#26A269\">param0<\/span>...\n(gdb) \n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">gdb poss\u00e8de le code param0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on va lister notre pr\u00e9cieux code c !<\/p>\n\n\n\n<pre>(gdb) l\n1       <span style=\"color:#12488B\"><b>#include<\/b><\/span> <span style=\"color:#C01C28\">&lt;stdio.h&gt;<\/span>\n2       <span style=\"color:#12488B\"><b>#include<\/b><\/span> <span style=\"color:#C01C28\">&lt;stdlib.h&gt;<\/span>\n3\n4       <span style=\"color:#26A269\">int<\/span> <b>main<\/b><span style=\"color:#C01C28\">(<\/span><span style=\"color:#26A269\">int<\/span> argc<span style=\"color:#C01C28\">,<\/span><span style=\"color:#26A269\">char<\/span> <span style=\"color:#C01C28\">*<\/span>argv<span style=\"color:#C01C28\">[])<\/span>\n5       <span style=\"color:#C01C28\">{<\/span>\n6           <span style=\"color:#26A269\">int<\/span> i<span style=\"color:#C01C28\">;<\/span>\n7\n8           <b>printf<\/b><span style=\"color:#C01C28\">(&quot;Nombre d&apos;arguments : %d<\/span><span style=\"color:#A347BA\">\\n<\/span><span style=\"color:#C01C28\">&quot;,<\/span> argc<span style=\"color:#C01C28\">);<\/span>\n9\n10          <span style=\"color:#12488B\"><b>for<\/b><\/span> <span style=\"color:#C01C28\">(<\/span>i <span style=\"color:#C01C28\">=<\/span> <span style=\"color:#A347BA\">0<\/span><span style=\"color:#C01C28\">;<\/span> i <span style=\"color:#C01C28\">&lt;<\/span> argc<span style=\"color:#C01C28\">;<\/span> i<span style=\"color:#C01C28\">++)<\/span> <span style=\"color:#C01C28\">{<\/span>\n(gdb) l\n11              <b>printf<\/b><span style=\"color:#C01C28\">(&quot;Argument %d : %s<\/span><span style=\"color:#A347BA\">\\n<\/span><span style=\"color:#C01C28\">&quot;,<\/span> i<span style=\"color:#C01C28\">,<\/span> argv<span style=\"color:#C01C28\">[<\/span>i<span style=\"color:#C01C28\">]);<\/span>\n12          <span style=\"color:#C01C28\">}<\/span>\n13\n14          <span style=\"color:#12488B\"><b>return<\/b><\/span> EXIT_SUCCESS<span style=\"color:#C01C28\">;<\/span>\n15      <span style=\"color:#C01C28\">}<\/span>\n16\n(gdb)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on va voir comment ex\u00e9cuter notre code en passant des param\u00e8tres <\/p>\n\n\n\n<pre>(gdb) run un deux trois\nStarting program: <span style=\"color:#26A269\">\/home\/etudiant\/Works\/TP2_C\/param0\/param0<\/span> un deux trois                                                          \n\nThis GDB supports auto-downloading debuginfo from the following URLs:                                                             \n  &lt;<span style=\"color:#26A269\">https:\/\/debuginfod.ubuntu.com<\/span>&gt;\nEnable debuginfod for this session? (y or [n]) y\nDebuginfod has been enabled.\nTo make this setting permanent, add &apos;set debuginfod enabled on&apos; to .gdbinit.                                                      \n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library &quot;<span style=\"color:#26A269\">\/lib\/x86_64-linux-gnu\/libthread_db.so.1<\/span>&quot;.                                                        \nNombre d&apos;arguments : 4\nArgument 0 : \/home\/etudiant\/Works\/TP2_C\/param0\/param0\nArgument 1 : un\nArgument 2 : deux\nArgument 3 : trois\n[Inferior 1 (process 4007) exited normally]\n(gdb) \n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">c&rsquo;est parfait notre code fonctionne bien !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">mais c&rsquo;est la qu&rsquo;il faut placer au moins un point d\u2019arr\u00eat !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on va utiliser <strong>br main<\/strong> ou <strong>br 8 <\/strong>, car ligne  juste cr\u00e9er une variable i de type int .. il ne passe rien ! et 7 juste un passage \u00e0 la ligne.<\/p>\n\n\n\n<pre>(gdb) br main\nBreakpoint 1 at <span style=\"color:#12488B\">0x55555555515c<\/span>: file <span style=\"color:#26A269\">param0.c<\/span>, line 8.\n(gdb)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">et on lance l&rsquo;execution<\/p>\n\n\n\n<pre>(gdb) run un deux trois                                                                                                           \nStarting program: <span style=\"color:#26A269\">\/home\/etudiant\/Works\/TP2_C\/param0\/param0<\/span> un deux trois                                                          \n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library &quot;<span style=\"color:#26A269\">\/lib\/x86_64-linux-gnu\/libthread_db.so.1<\/span>&quot;.                                                        \n\nBreakpoint 1, <span style=\"color:#A2734C\">main<\/span> (<span style=\"color:#2AA1B3\">argc<\/span>=4, <span style=\"color:#2AA1B3\">argv<\/span>=0x7fffffffe2f8) at <span style=\"color:#26A269\">param0.c<\/span>:8\n8           <b>printf<\/b><span style=\"color:#C01C28\">(&quot;Nombre d&apos;arguments : %d<\/span><span style=\"color:#A347BA\">\\n<\/span><span style=\"color:#C01C28\">&quot;,<\/span> argc<span style=\"color:#C01C28\">);<\/span>\n(gdb)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Donc ici nous sommes \u00e0 la ligne 8 non ex\u00e9cut\u00e9e encore!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on voit que argc contient l&rsquo;entier 4 et on sait \u00e0 partir de la que nous avons 4 arguments disponibles de argv[0] \u00e0 argv[3] et uniquement !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on peut les voir :<\/p>\n\n\n\n<pre>(gdb) print argv[0]\n<span style=\"color:#2AA1B3\">$1<\/span> = <span style=\"color:#12488B\">0x7fffffffe58b<\/span> &quot;\/home\/etudiant\/Works\/TP2_C\/param0\/param0&quot;\n(gdb) print argv[1]                                                                                                               \n<span style=\"color:#2AA1B3\">$2<\/span> = <span style=\"color:#12488B\">0x7fffffffe5b4<\/span> &quot;un&quot;\n(gdb) p argv[2]\n<span style=\"color:#2AA1B3\">$3<\/span> = <span style=\"color:#12488B\">0x7fffffffe5b7<\/span> &quot;deux&quot;\n(gdb) p argv[3]\n<span style=\"color:#2AA1B3\">$4<\/span> = <span style=\"color:#12488B\">0x7fffffffe5bc<\/span> &quot;trois&quot;\n(gdb) p argv[4]\n<span style=\"color:#2AA1B3\">$5<\/span> = <span style=\"color:#12488B\">0x0<\/span>\n(gdb) p argv[5]                                                                                                                   \n<span style=\"color:#2AA1B3\">$6<\/span> = <span style=\"color:#12488B\">0x7fffffffe5c2<\/span> &quot;SHELL=\/bin\/bash&quot;\n(gdb)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on remarque argv[4] contient 0x0 , la valeur NULL , z\u00e9ro ! (et ce n&rsquo;est pas un argument pass\u00e9)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ici nous allons nous int\u00e9resser au pointeur char ** \u00e0 l&rsquo;adresse 0x7fffffffe5b4  qui pointe la chaine argv[1]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">syntaxe dans gdb pour lister par byte (octet)  <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x\/&lt;nombre&gt;&lt;format&gt; adresse<\/code><\/pre>\n\n\n\n<pre>(gdb) x\/10xb 0x7fffffffe5b4                                                                                                       \n<span style=\"color:#12488B\">0x7fffffffe5b4<\/span>: 0x75    0x6e    0x00    0x64    0x65    0x75    0x78    0x00                                                      \n<span style=\"color:#12488B\">0x7fffffffe5bc<\/span>: 0x74    0x72\n(gdb)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">0x75: &lsquo;u&rsquo;  ,  0x6e:&rsquo;n&rsquo; ,   0x00 : fin de cha\u00eene <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">0x64:&rsquo;d\u00a0\u00bb , 0x65:&rsquo;e&rsquo; , 0x75:&rsquo;u&rsquo; , 0x78:&rsquo;x&rsquo; , 0x00 : NUL <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">.. etc<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on voit bien ici que les donn\u00e9es (les param\u00e8tres) sont stock\u00e9s sous forme d&rsquo;octets contenant les codes ASCII<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ainsi on comprends ce qu&rsquo;est un pointeur sur char .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on va regarder <\/p>\n\n\n\n<pre>(gdb) print argv\n<span style=\"color:#2AA1B3\">$16<\/span> = (char **) <span style=\"color:#12488B\">0x7fffffffe2f8<\/span>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on voit que argv est encore une autre adresse<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>g<\/code> = <strong>giant word<\/strong> = 8 octets = 64 bits , ici les pointeurs sont cod\u00e9s sur 64 bits (8octets) <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(gdb) p sizeof(char *)<br>$1 = 8<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">pour visualiser 5 nombres de 64 bits <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x\/5gx &lt;adresse&gt;<\/code><\/pre>\n\n\n\n<pre>(gdb) print argv\n<span style=\"color:#2AA1B3\">$16<\/span> = (char **) <span style=\"color:#12488B\">0x7fffffffe2f8<\/span>\n(gdb)  x\/5gx 0x7fffffffe2f8\n<span style=\"color:#12488B\">0x7fffffffe2f8<\/span>: 0x00007fffffffe58b      0x00007fffffffe5b4\n<span style=\"color:#12488B\">0x7fffffffe308<\/span>: 0x00007fffffffe5b7      0x00007fffffffe5bc\n<span style=\"color:#12488B\">0x7fffffffe318<\/span>: 0x0000000000000000\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on retrouve les adresses de chaque pointeur sur char  , argv[0] , argv[1] , argv[2] , argv[3]; argv [4] qui est \u00e9gal a NULL le dernier de la liste !<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"on-va-s-interesser-comment-sont-mis-les-64-bits\">on va s\u2019int\u00e9resser comment sont mis les 64 bits<\/h3>\n\n\n\n<pre>(gdb) p argv\n<span style=\"color:#2AA1B3\">$18<\/span> = (char **) <span style=\"color:#12488B\">0x7fffffffe2f8<\/span><\/pre>\n<pre>(gdb) x\/8bx 0x7fffffffe2f8\n<span style=\"color:#12488B\">0x7fffffffe2f8<\/span>: 0x8b    0xe5    0xff    0xff    0xff    0x7f    0x00    0x00                                                      \n(gdb)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on remarque ici que c&rsquo;est bien l&rsquo;adresse de argv[0] , contenu  mais c&rsquo;est l&rsquo;envers , en fait c&rsquo;est a l&rsquo;endroit mais tout est relatif !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est ce qu&rsquo;on appel  du little ebdian<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Les <strong>octets les moins significatifs sont stock\u00e9s en premier<\/strong> (\u00e0 l&rsquo;adresse la plus basse).<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Par exemple, un pointeur <code>0x00007fffffffe58b<\/code> est en m\u00e9moire :<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Octet #<\/th><th>Adresse<\/th><th>Contenu<\/th><\/tr><\/thead><tbody><tr><td>0<\/td><td><code>0x7fffffffe2f8<\/code><\/td><td><code>0x8b<\/code> \u2190 <strong>LSB<\/strong><\/td><\/tr><tr><td>1<\/td><td><code>0x7fffffffe2f9<\/code><\/td><td><code>0xe5<\/code><\/td><\/tr><tr><td>2<\/td><td><code>0x7fffffffe2fa<\/code><\/td><td><code>0xff<\/code><\/td><\/tr><tr><td>3<\/td><td><code>0x7fffffffe2fb<\/code><\/td><td><code>0xff<\/code><\/td><\/tr><tr><td>4<\/td><td><code>0x7fffffffe2fc<\/code><\/td><td><code>0xff<\/code><\/td><\/tr><tr><td>5<\/td><td><code>0x7fffffffe2fd<\/code><\/td><td><code>0x7f<\/code><\/td><\/tr><tr><td>6<\/td><td><code>0x7fffffffe2fe<\/code><\/td><td><code>0x00<\/code><\/td><\/tr><tr><td>7<\/td><td><code>0x7fffffffe2ff<\/code><\/td><td><code>0x00<\/code> \u2190 <strong>MSB<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"et-pour-argc\">Et pour argc <\/h3>\n\n\n\n<pre>(gdb) p &amp;argc\n<span style=\"color:#2AA1B3\">$19<\/span> = (int *) <span style=\"color:#12488B\">0x7fffffffe1bc<\/span>\n(gdb) p sizeof(int)\n<span style=\"color:#2AA1B3\">$20<\/span> = 4\n<\/pre>\n<pre>(gdb) x\/1hx 0x7fffffffe1bc                                                                                                        \n<span style=\"color:#12488B\">0x7fffffffe1bc<\/span>: 0x0004\n(gdb) \n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">donner les explications chez vous !<\/p>\n\n\n\n<pre>(gdb) x\/4bx 0x7fffffffe1bc                                                                                                        \n<span style=\"color:#12488B\">0x7fffffffe1bc<\/span>: 0x04    0x00    0x00    0x00\n(gdb)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">donner les explications chez vous !<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"code-c-add-qui-va-additionner-2-entier\">Code c ,add , qui va additionner 2 entier. <\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"utilisation-des-passages-de-parametres-et-algorithmie\">Utilisation des passages de param\u00e8tres et algorithmie<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">on va utiliser monia<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on va faire un r\u00e9pertoire  monia_add<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on y retrouvera<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>le fichier monia: add.xmo <\/li>\n\n\n\n<li>le fichier add.pl<\/li>\n\n\n\n<li>add.c<\/li>\n\n\n\n<li>add  (ex\u00e9cutable final)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">il faut noter ici que le pl est donn\u00e9 ! et il faut transformer le pseudo langage en langage C <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">on veut un code qui va donner cela:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/add 5 6\nla somme donne 11\n.\/add 5\nil faut 2 arguments. ex .:add 2 3<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"l-organigramme\">L&rsquo;organigramme<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"623\" src=\"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga-1024x623.png\" alt=\"\" class=\"wp-image-2439\" srcset=\"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga-1024x623.png 1024w, https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga-300x183.png 300w, https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga-768x468.png 768w, https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga.png 1347w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il faut refaire avec Monia ce code en organigramme<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En extraire le fichier .pl (Pseudo langage)<\/p>\n\n\n\n<pre><span style=\"color:#12488B\"># ----------------------------------------------------------------------------<\/span>\n<span style=\"color:#12488B\"># Nom         : add.pl<\/span>\n<span style=\"color:#12488B\"># Sujet       : Programme d&apos;addition de 2 nombres<\/span>\n<span style=\"color:#12488B\"># Version     : 0.1<\/span>\n<span style=\"color:#12488B\">#<\/span>\n<span style=\"color:#12488B\"># Auteur      : Bogt<\/span>\n<span style=\"color:#12488B\"># Cr\u00e9ation    : 16\/07\/2025<\/span>\n<span style=\"color:#12488B\"># Mise \u00e0 jour : 16\/07\/2025<\/span>\n<span style=\"color:#12488B\"># ----------------------------------------------------------------------------<\/span>\n<span style=\"color:#12488B\"># source g\u00e9n\u00e9r\u00e9 par MoniaOrg version 0.38<\/span>\n\nProgramme nom_du_programme ;\n\n<span style=\"color:#12488B\">##FORWARDCOMMENT##<\/span>\n\nVAR             nb1 : entier ;\n<span style=\"color:#AF5F00\">                nb2 :<\/span> entier ;\n<span style=\"color:#AF5F00\">                somme  :<\/span> entier ;\n\nDEBUTPROG\n        SI (  argc=<span style=\"color:#C01C28\">3<\/span> ) ALORS\n                nb1 est la valeur entiere contenu dans argv[<span style=\"color:#C01C28\">1<\/span>] ;\n                nb2 est la valeur enti\u00e8re contenu dans argv[<span style=\"color:#C01C28\">2<\/span>] ;\n                somme= nb1+nb2 ;\n                Aficher <span style=\"color:#C01C28\">&quot;la somme est : (somme) &quot;<\/span> ;\n        SINON\n                Afficher <span style=\"color:#C01C28\">&quot; Il faut 2 arguments , ex: .\/add 2 3&quot;<\/span> ;\n        FINSI\nFINPROG\n<span style=\"color:#2A7BDE\">~                                                                                                                                              <\/span>\n<span style=\"color:#2A7BDE\">~                                                                                                                                              <\/span>\n<span style=\"color:#2A7BDE\">~                                                                                                                                              <\/span>\n<span style=\"color:#2A7BDE\">~                                                                                                                                              <\/span>\n<span style=\"color:#2A7BDE\">~                                                                                                                                              <\/span>\n                                                                                                                             4,19         Tout\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"traduire-pl-en-c-travail-final\">Traduire PL en c (travail final !)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A vous de jouer , vous allez avoir besoin de transformer une cha\u00eene de caract\u00e8re en entier<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">pseudo langage :<\/mark> <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nb1 est la valeur entiere contenu dans argv&#91;1]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">traduction en langage C<\/mark><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nb1=atoi(argv&#91;1]);  \/* a vous de d\u00e9duire la suite *\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">la fonction <strong>int atoi(const char *nptr) <\/strong>voir le man 3 atoi<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>man atoi<\/summary>\n<pre class=\"wp-block-code\"><code>atoi(3)                                             Library Functions Manual                                            atoi(3)   \n\nNAME\n       atoi, atol, atoll - convert a string to an integer\n\nLIBRARY\n       Standard C library (libc, -lc)\n\nSYNOPSIS\n       #include &lt;stdlib.h&gt;\n\n       <mark style=\"background-color:rgba(0, 0, 0, 0);color:#cf2e2e\" class=\"has-inline-color\">int atoi(const char *nptr);<\/mark>\n       long atol(const char *nptr);\n       long long atoll(const char *nptr);\n\n   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):                                                        \n\n       atoll():\n           _ISOC99_SOURCE\n               || \/* glibc &lt;= 2.19: *\/ _BSD_SOURCE || _SVID_SOURCE                                                                \n\nDESCRIPTION\n       The atoi() function converts the initial portion of the string pointed to by nptr to int.  The behavior is the same as     \n\n...<\/code><\/pre>\n<\/details>\n\n\n\n<p class=\"wp-block-paragraph\">atoi , lire a to i <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">transforme une cha\u00eene de caract\u00e8re ASCII en type entier<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>test_atoi.c<\/strong> dans le repertoire <strong>test_atoi<\/strong><\/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;stdlib.h>\n#include &lt;stdio.h>\n\nint main(int argc,char **argv)\n{\nint nombre;\nif (argc==2) \n   {\n     nombre=atoi(argv[1]);\n     printf (\"la chaine %s donne en entier : %d \\n\",argv[1],nombre);\n     return (EXIT_SUCCESS);\n   } \nprintf(\"Il le faut une chaine avec un nombre entier dedans! \\n\");\nreturn(EXIT_FAILURE);\n}\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"> test le code test_atoi pour comprendre l&rsquo;usage de la fonction atoi()<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"code-en-c-et-organigramme-et-pl-de-soustract\">code en c (et organigramme et pl)  de soustract <\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">r\u00e9pertoire <strong>soustrac,<\/strong> soustrac.c, soustrac.xmo soustrac.pl<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"avec-monia-realiser-un-fichier-organigramme\">avec Monia r\u00e9aliser un fichier organigramme <\/h3>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"de-monia-en-extraire-le-fichier-soustrac-pl\">de monia en extraire le fichier  soustrac.pl <\/h3>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"traduire-le-pl-en-c\">traduire le pl en c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">compiler et tester le code<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"code-en-c-et-organigramme-et-pl-de-multi\">code en c (et organigramme et pl) de multi<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">r\u00e9pertoire multi , multi.c, multi.xmo, multi.pl<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"avec-monia-realiser-un-fichier-organigramme\">avec Monia r\u00e9aliser un fichier organigramme <\/h3>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"de-monia-en-extraire-le-fichier-soustrac-pl\">de monia en extraire le fichier multi.pl<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"traduire-le-pl-en-c\">traduire le pl en c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">compiler et tester le code<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"code-en-c-et-organigramme-et-pl-de-div\">code en c (et organigramme et pl) de div<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">r\u00e9pertoire div , div.c, div.xmo, div.pl<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"avec-monia-realiser-un-fichier-organigramme\">avec Monia r\u00e9aliser un fichier organigramme <\/h3>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"de-monia-en-extraire-le-fichier-soustrac-pl\">de monia en extraire le fichier div.pl<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"traduire-le-pl-en-c\">traduire le pl en c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">compiler et tester le code<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"erreur-a-ne-jamais-faire\">Erreur \u00e0 ne jamais faire !<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;\u00e9tudiant t\u00f4t ou tard fera cette erreur , vous allez analyser et conclure!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">r\u00e9pertoire nogood ; nogood.c<\/p>\n\n\n\n<pre><span style=\"color:#12488B\">\/* crash test *\/<\/span>\n<span style=\"color:#A347BA\">#include <\/span><span style=\"color:#C01C28\">&lt;stdio.h&gt;<\/span>\n\n<span style=\"color:#26A269\">int<\/span> main(<span style=\"color:#26A269\">int<\/span> argc,<span style=\"color:#26A269\">char<\/span> **argv)\n{\n        printf(<span style=\"color:#C01C28\">&quot;argv[1][0]=<\/span><span style=\"color:#A347BA\">%c<\/span><span style=\"color:#C01C28\">, argv[1][1]=<\/span><span style=\"color:#A347BA\">%c<\/span><span style=\"color:#C01C28\"> <\/span><span style=\"color:#A347BA\">\\n<\/span><span style=\"color:#C01C28\">&quot;<\/span>,argv[<span style=\"color:#C01C28\">1<\/span>][<span style=\"color:#C01C28\">0<\/span>],argv[<span style=\"color:#C01C28\">1<\/span>][<span style=\"color:#C01C28\">1<\/span>]);\n<span style=\"color:#A2734C\">return<\/span> <span style=\"color:#C01C28\">0<\/span>;\n}\n<span style=\"color:#12488B\"><b>~                                                                                                                            <\/b><\/span>\n<span style=\"color:#12488B\"><b>~                                                                                                                            <\/b><\/span>\n&quot;nogood.c&quot; 8L, 148B                                                                                        6,37-44      Tout\n<span style=\"background-color:#26A269\"><span style=\"color:#171421\">[albert] 0:bash  1:bash  2:bash- 3:ssh*                                                          &quot;workboot&quot; 08:33 17-juil.-25<\/span><\/span>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">nous avons appris que argv est pointeur sur un pointeur sur char , en d&rsquo;autres mots un  pointeur sur une cha\u00eene de caract\u00e8res<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">tout va bien si argv[1] existe  , normal non?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/TP2_C\/nogood$ .\/nogood un\nargv&#91;1]&#91;0]=u, argv&#91;1]&#91;1]=n \netudiant@ordi:~\/Works\/TP2_C\/nogood$ <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">la tout est pour le mieux dans le meilleur des mondes ! <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"au-passage-justifier-le-resultat-obtenu\">au passage justifier le r\u00e9sultat obtenu<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"maintenant-le-crash\">maintenant le crash !<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>etudiant@ordi:~\/Works\/TP2_C\/nogood$ .\/nogood \nErreur de segmentation (core dumped)\netudiant@ordi:~\/Works\/TP2_C\/nogood$ <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">cette erreur de segmentation est courante chez les d\u00e9butants !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et ou argv[1] n&rsquo;existe pas ici argc=1 non pas 2 !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">et on demande au syst\u00e8me d&rsquo;afficher des caract\u00e8res n&rsquo;existant pas !<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"corriger-le-code-en-testant-argc\">Corriger le code en testant argc<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">proposer un code good.c<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"avec-gdb\">Avec gdb<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avec gdb tester et voir l&rsquo;erreur de segmentation .. de nogood<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Avec gdb teste et voir que l&rsquo;erreur ne sa fait plus avec good <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udd52 : 3 h maximum Pr\u00e9requis: But: R\u00e9pertoire du travail: ~\/Works\/TP2_C Pr\u00e9sentation: En langage C, la fonction main constitue le point d\u2019entr\u00e9e principal d\u2019un programme.Cours sur le passage de param\u00e8tres [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-2341","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TP3_C param\u00e8tres - workboot<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TP3_C param\u00e8tres - workboot\" \/>\n<meta property=\"og:description\" content=\"\ud83d\udd52 : 3 h maximum Pr\u00e9requis: But: R\u00e9pertoire du travail: ~\/Works\/TP2_C Pr\u00e9sentation: En langage C, la fonction main constitue le point d\u2019entr\u00e9e principal d\u2019un programme.Cours sur le passage de param\u00e8tres [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/\" \/>\n<meta property=\"og:site_name\" content=\"workboot\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-05T08:03:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1347\" \/>\n\t<meta property=\"og:image:height\" content=\"820\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp2_c-les-parametres\\\/\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp2_c-les-parametres\\\/\",\"name\":\"TP3_C param\u00e8tres - workboot\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp2_c-les-parametres\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp2_c-les-parametres\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/add_orga-1024x623.png\",\"datePublished\":\"2025-07-13T09:47:26+00:00\",\"dateModified\":\"2026-01-05T08:03:20+00:00\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp2_c-les-parametres\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/tp2_c-les-parametres\\\/#primaryimage\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/add_orga.png\",\"contentUrl\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/add_orga.png\",\"width\":1347,\"height\":820},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#website\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/\",\"name\":\"workboot\",\"description\":\"Open Source, Open Minds \",\"publisher\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#organization\",\"name\":\"workboot\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/logo_ciel-dorian-1.png\",\"contentUrl\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/logo_ciel-dorian-1.png\",\"width\":1024,\"height\":950,\"caption\":\"workboot\"},\"image\":{\"@id\":\"https:\\\/\\\/workboot.fr\\\/ciela\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TP3_C param\u00e8tres - workboot","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/","og_locale":"fr_FR","og_type":"article","og_title":"TP3_C param\u00e8tres - workboot","og_description":"\ud83d\udd52 : 3 h maximum Pr\u00e9requis: But: R\u00e9pertoire du travail: ~\/Works\/TP2_C Pr\u00e9sentation: En langage C, la fonction main constitue le point d\u2019entr\u00e9e principal d\u2019un programme.Cours sur le passage de param\u00e8tres [&hellip;]","og_url":"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/","og_site_name":"workboot","article_modified_time":"2026-01-05T08:03:20+00:00","og_image":[{"width":1347,"height":820,"url":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga.png","type":"image\/png"}],"twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/","url":"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/","name":"TP3_C param\u00e8tres - workboot","isPartOf":{"@id":"https:\/\/workboot.fr\/ciela\/#website"},"primaryImageOfPage":{"@id":"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#primaryimage"},"image":{"@id":"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#primaryimage"},"thumbnailUrl":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga-1024x623.png","datePublished":"2025-07-13T09:47:26+00:00","dateModified":"2026-01-05T08:03:20+00:00","inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/workboot.fr\/ciela\/tp2_c-les-parametres\/#primaryimage","url":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga.png","contentUrl":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/07\/add_orga.png","width":1347,"height":820},{"@type":"WebSite","@id":"https:\/\/workboot.fr\/ciela\/#website","url":"https:\/\/workboot.fr\/ciela\/","name":"workboot","description":"Open Source, Open Minds ","publisher":{"@id":"https:\/\/workboot.fr\/ciela\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/workboot.fr\/ciela\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/workboot.fr\/ciela\/#organization","name":"workboot","url":"https:\/\/workboot.fr\/ciela\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/workboot.fr\/ciela\/#\/schema\/logo\/image\/","url":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/05\/logo_ciel-dorian-1.png","contentUrl":"https:\/\/workboot.fr\/ciela\/wp-content\/uploads\/2025\/05\/logo_ciel-dorian-1.png","width":1024,"height":950,"caption":"workboot"},"image":{"@id":"https:\/\/workboot.fr\/ciela\/#\/schema\/logo\/image\/"}}]}},"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":"\ud83d\udd52 : 3 h maximum Pr\u00e9requis: But: R\u00e9pertoire du travail: ~\/Works\/TP2_C Pr\u00e9sentation: En langage C, la fonction main constitue le point d\u2019entr\u00e9e principal d\u2019un programme.Cours sur le passage de param\u00e8tres [&hellip;]","_links":{"self":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/2341","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=2341"}],"version-history":[{"count":57,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/2341\/revisions"}],"predecessor-version":[{"id":6050,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/2341\/revisions\/6050"}],"wp:attachment":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/media?parent=2341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}