數組的數組名稱和地址,我有以下代碼:關於用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