🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #15052

Re: accès à un élément de *argv[]

#15052
From: Pierre Maurette
Date: Sun, 16 Oct 2005 03:33
43 lines
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-mail
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>

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