在这个程序中,我提到的所有三个地址都引用了数组的第一个元素,但是当我取消引用它们时,为什么我没有得到数组第一个元素的值呢?
int main()
{
int a[5] = {1,2,3,4,5};
printf("address a = %d\n",a);
printf("address of a[0] = %d\n",&a[0]);
printf("address of first element = %d\n",&a);
printf("value of first element of the array a =%d\n",*(a));
printf("first element =%d\n",*(&a[0]));
printf("a[0] = %d\n",*(&a));//this print statement again prints the address of a[0]
return 0;
}
我得到了前 3 个打印语句的数组第一个元素的地址,a
当我取消引用所有 3 个时,我只得到第四个和第五个打印语句的值,而不是第六个打印语句(附有注释)的值。