有人請解釋下面的代碼的輸出數組的地址..打印使用「數組名」和「數組名地址的」
#include <stdio.h>
int main()
{
int arr[5];
// Assume base address of arr is 2000 and size of integer is 32 bit
printf("%u %u", arr + 1, &arr + 1);
return 0;
}
也解釋了當的「printf」語句通過以下
1. printf("%u %u", arr + 1, &(arr + 1));
2. printf("%u %u", arr + 1, &arr + 2);
是你期待什麼輸出& &? – Raman
你也應該使用%p來打印地址。 – Raman
數組的地址('&arr')和數組第一個元素的地址('&arr [0]' - 當arr衰變爲指針時得到的數值)具有相同的數值,但並不意味着相同事情。 – molbdnilo