Article View: fr.comp.lang.c
Article #15052Re: accès à un élément de *argv[]
From: Pierre Maurette
Date: Sun, 16 Oct 2005 03:33
Date: Sun, 16 Oct 2005 03:33
43 lines
3352 bytes
3352 bytes
Emmanuel Delahaye, le 15/10/2005, a �crit : > Pierre Maurette a �crit : >>> char *argv[] est �quivallent (� un poil de grenouille pr�s) � char **argv >> >> Oui. L�, le tableau est parfait. >> > Gn� ? Quel tableau ? argv[] Simplement, dans le cadre de ce fil, l'�criture en tableau de char* (char* argv[]) me semble plus claire que l'�criture en pointeur double (char** argv). M�me si dans le cadre de param�tres de fonction, nous savons tous que c'est la m�me chose, alors qu'ailleurs les confondre est dangereux. La premi�re forme sugg�re l'utilisation, c'est le tableau des argc param�tres, l'�criture est en quelque sorte autodocument�e. La seconde d�crit quant � elle la r�alit� du passage des param�tres. Je regrette quelques points du langage C, mais �a ne changera rien. Il n'est pas normal que tab et &tab soient la m�me chose (comme fonct et &fonct). Je le regrette parce que partout ailleurs l'op�rateur & fait changer le type, donc que cette facilit� introduit une incoh�rence. Il est regrettable (� part pour l'activit� des groupes de discussion) que le passage d'un tableau en param�tre soit de fa�on silencieuse diff�rent de celui d'une structure. Notons que nous en restons ici � un tableau de dimension 1. R��crit, �a donne: typedef char* pChaine; int main (int argc, pChaine argv[]) ou int main (int argc, pChaine* argv) Dans le cas de tableaux de dimension 2 et au-del�, �a se complique. On ne devra plus confondre, � moins d'avoir de tr�s bonnes raisons de la faire, int** tab et int tab[][N], puisqu'un int(*)[N] n'est pas un int**. En revanche, dans un int tab[M][N], le M ne sera g�n�ralement qu'informatif. Enfin, tout �a ce n'est qu'au niveau des warnings. C'�tait mon quart d'heure verbeux du dimanche matin ;-) -- Pierre Maurette
Technical Details
Message-ID:
<mn.814d7d5a361d8618.31483@laposte.net>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!infeed-2.proxad.net!news18-e.free.fr!not-for-mailReferences:
<1129375708.461315.266570@g14g2000cwa.googlegroups.com> <mn.7ba37d5a3355d570.31483@laposte.net> <4351456b$0$21287$626a54ce@news.free.fr> <mn.7cc47d5a931e003e.31483@laposte.net> <435169b4$0$18770$626a14ce@news.free.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,81ea3528af9bc77b
X-Google-Attributes: gidf9822,public
X-Google-Language: FRENCH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!infeed-2.proxad.net!news18-e.free.fr!not-for-mail
Subject: Re: accès à un élément de *argv[]
From: "Pierre Maurette" <maurettepierre@wanadoo.fr>
References: <1129375708.461315.266570@g14g2000cwa.googlegroups.com> <mn.7ba37d5a3355d570.31483@laposte.net> <4351456b$0$21287$626a54ce@news.free.fr> <mn.7cc47d5a931e003e.31483@laposte.net> <435169b4$0$18770$626a14ce@news.free.fr>
Newsgroups: fr.comp.lang.c
Message-ID: <mn.814d7d5a361d8618.31483@laposte.net>
X-Newsreader: MesNews/1.04.00.00
Date: Sun, 16 Oct 2005 05:33:34 +0200
MIME-Version: 1.0
X-Face: cmi$3R1_J{[}5K|8d'LDiJ$SsZ*gn,j*PhJ#KVGt+45,E_N9O}GrhhQ>fb&q<&lz=g%PEv' u"m)N|KrBMux?2:E?N7Uw3L#H>L#GwM}<qH-?#_Y$B9]$q1"~iUGtN#HVy?}7.`m&iKF>gY:.`W.qu z`1'W'h-AXPmB]#7~<+@H.<0M`-jBkCWbmkcT_*LBVD3|p1a?h1H;cHq{$-vbeP@Hdcqp5z~lwU7ZK `~
Reply-To: maurettepierre@wanadoo.fr
Content-Type: text/plain; charset="iso-8859-15"; format=flowed
Content-Transfer-Encoding: 8bit
X-Antivirus: avast! (VPS 0541-3, 14/10/2005), Outbound message
X-Antivirus-Status: Clean
Lines: 45
Organization: Guest of ProXad - France
NNTP-Posting-Date: 16 Oct 2005 05:31:45 MEST
NNTP-Posting-Host: 84.7.252.36
X-Trace: 1129433505 news18-e.free.fr 31829 84.7.252.36:4558
X-Complaints-To: abuse@proxad.net