Re: gcc not compiling
From: Matthew Saltzman (mjs_at_ces.clemson.edu)
Date: 10/31/05
- Previous message: mskinnym_at_aim.com: "Re: Linux killer!"
- In reply to: Derek Martin: "Re: gcc not compiling"
- Next in thread: STYMA, ROBERT E (ROBERT): "RE: gcc not compiling"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 31 Oct 2005 17:36:35 -0500 (EST) To: For users of Fedora Core releases <fedora-list@redhat.com>
On Mon, 31 Oct 2005, Derek Martin wrote:
> On Mon, Oct 31, 2005 at 01:30:44PM -0600, STYMA, ROBERT E (ROBERT) wrote:
>> The syntax:
>> int main(int argc, char **argv)
>> works, but most of the C books I have seen recommend
>> the *argv[] version.
>
> 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! */
> }
>
> The results may surprise programming students:
>
> $ gcc -o ptr ptr.c
> ptr.c: In function `main':
> ptr.c:2: warning: return type of 'main' is not `int'
> [ddm@archonis ~]
> $ ./ptr
> T
> T
> T
> T
> i
> i
> i
> i
>
>
> In reality, foo[x] is just "syntactic sugar" for *(foo + x). This
> is called pointer math, and works properly regardless of the size and
> type of foo, so long as it was declared properly before being used.
>
> [I'm very bored today...]
>
>
-- Matthew Saltzman Clemson University Math Sciences mjs AT clemson DOT edu http://www.math.clemson.edu/~mjs -- fedora-list mailing list fedora-list@redhat.com To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
- Previous message: mskinnym_at_aim.com: "Re: Linux killer!"
- In reply to: Derek Martin: "Re: gcc not compiling"
- Next in thread: STYMA, ROBERT E (ROBERT): "RE: gcc not compiling"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]