gcc not compiling
Les Mikesell
lesmikesell at gmail.com
Tue Nov 1 05:49:46 UTC 2005
On Mon, 2005-10-31 at 16:36, Matthew Saltzman wrote:
> >
> > I meant to comment that these two different notations are functionally
> > identical; an array name is nothing more than a pointer. For example,
> > if we have the following code:
> >
> >
> > #include <stdio.h>
> > void main (void){
> >
> > char foo[] = "This is a string\n";
> > char *bar = foo;
> >
> > /* these expressions all print "T\n" */
> > printf("%c\n", foo[0]);
> > printf("%c\n", *bar);
> > printf("%c\n", bar[0]);
> > printf("%c\n", *foo);
>
> /* ...and my favorite... */
>
> printf("%c\n", 0[foo]);
> >
> > /* these expressions all print "i\n" */
> > printf("%c\n", foo[2]);
> > printf("%c\n", *(bar + 2));
> > printf("%c\n", bar[2]);
> > printf("%c\n", *(foo + 2));
>
> printf("%c\n", 2[foo]);
>
> /* That's right, folks, [] is commutative! */
/* Or, if you have a strong stomach, simplify to:
printf("%c\n", "This is a string\n"[2]) ;
printf("%c\n", 2["This is a string\n"] ) ;
/* It's all simple addition...*/
> > }
--
Les Mikesell
lesmikesell at gmail.com
More information about the fedora-list
mailing list