Wierd Addresses

This is a discussion on Wierd Addresses within the C++ Programming forums, part of the General Programming Boards category; I'm posing this problem to you guys because it seems that the entire computer science department is stumped by the ...

Why is this wierd? Well according to ANSI C++ when you declare an array the actually name of the array with out an index value, (e.g. array1) is supposed to be a pointer which points to array1[0]. The problem is that in an x86 system, the above code would return two different addresses, one address for the pointer of array1 and one address for the location of the contents of array[0]. Can anyone explain this?