On Sun, Aug 15, 2010 at 4:55 AM, Roald de Vries <downa...@gmail.com> wrote:
> On Aug 15, 2010, at 1:00 PM, Lawrence D'Oliveiro wrote:
>>
>> It would be if pointers and arrays were the same thing in C. Only they’re
>> not, quite. Which somewhat defeats the point of trying to make them look
>> the
>> same, don’t you think?
>
> How are they not the same?
>
> The code snippet (in C/C++) below is valid, so arrays are just pointers. The
> only difference is that the notation x[4] reserves space for 4 (consecutive)
> ints, and the notation *y doesn't.
>
> int x[4];
> int *y = x;
>
> Moreover, the following is valid (though unsafe) C/C++:
>
> int *x;
> int y = x[4];

Just to demonstrate that they are different, the following code
compiles cleanly:

int main() {
        int *pointer;
        pointer++;
        return 0;
}

While this does not:

int main() {
        int array[0];
        array++;
        return 0;
}

Geremy Condra
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to