Python "why" questions

geremy condra debatem1 at
Sun Aug 15 14:16:45 CEST 2010

On Sun, Aug 15, 2010 at 4:55 AM, Roald de Vries <downaold at> 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;
	return 0;

While this does not:

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

Geremy Condra

More information about the Python-list mailing list