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