[Tech] OT domanda di C sui puntatori

Claudio Kutufà claudiok@nexusfi.it
Ven 25 Maggio 2007 11:18:48 CEST


At 10.54 25/05/2007 +0200, you wrote:
>On Fri, 2007-05-25 at 10:03 +0200, Claudio Kutufà wrote:
> > >main (int argc, char *argv[])
>..
> > >
> > >main (int argc, char **argv)
> >
> > le due situazioni sono equivalenti, in C
> > char s[]
> > e
> > char *s
> > sono esattamente la stessa cosa
> > in entrambi i casi s è un puntatore
>
>Sono uguali inquanto avendo s come char e quindi come vettore, s punta
>gia' all'indirizzo e quindi *s sarebbe un puntatore all'indirizzo e
>cosi' anche s[], se ho capito bene.
>
>Ma allora quando e perche' usare l'una o l'altra definizione?

è essenzialmente una questione di leggibilità per il programmatore e 
totalmente soggettiva, quando uso il puntatore ad una variabile preferisco 
*s mentre se la uso per puntare ad un array allora preferisco s[] per una 
questione mnemonica. Volendo fare un po' di casino potrei usare notazione 
opposta :-))) così chi riprende in mano i miei codici ci capisce ancora 
meno ;-)

> > >Sul libro di C non ho trovato riferimenti e googlelando non mi esce
> > >granche' come spiegazione.
> >
> > guarda il Kernighan Ritchie a pag 126 :-)
>
>ops.. :) e' proprio il libro che ho io, dopo ci guardo per bene

dimenticavo di dirti che il mio è la seconda edizione, quella di 361 pagine
in ogni caso è la capitolo 5 PUNTATORI E VETTORI - verso la fine del 
paragrafo 5.3 Puntatori e Vettori

>--
>Ciao
>lorenzo

ciao
Cla

>Gpg Key FPR: 8300 A8D8 A494 EDB7 2C7B 8629 549C 0C9C 8FBB 1E9C
>
>_______________________________________________
>FLUG - Discussioni tecniche - tech@firenze.linux.it
>URL: https://lists.firenze.linux.it/mailman/listinfo/tech
>Archivio: http://lists.firenze.linux.it/pipermail/tech
>Ricerca nell'archivio: http://www.firenze.linux.it/search




Maggiori informazioni sulla lista flug-tech