数组的数组名称和地址,我有以下代码:关于用C
#include<stdio.h>
void main()
{
int * a;
int arr[2];
arr[1] = 213 ;
arr[0] = 333 ;
a = &arr ;
printf("\narr %d",arr);
printf("\n*arr %d",*arr);
printf("\n&arr %d",&arr);
printf("\n%d",a[1]);
}
在运行这个简单的程序,我得到的输出如下:
arr -1079451516
*arr 333
&arr -1079451516
213
为什么这两个ARR和& arr给出了相同的结果?我可以理解,arr是一些内存位置,* arr或arr [0]是存储在该位置的值,但为什么& arr和arr是相同的?
void main()是baaaad。 – Puppy 2010-12-02 22:08:39
[数组索引和地址返回相同的值可能重复。](http://stackoverflow.com/questions/3642157/array-index-and-address-return-same-value) – 2010-12-02 22:11:10