prega di consultare il seguente frammento di codice:vogliono capire un comportamento C gamma
int main()
{
int arr[] = { 0,3 , 4,28,1198};
for(int i=0;i<5;i++)
printf("\n arr[i] %u \n" , arr+i);
printf("\n *******************\n");
printf("%u ", &arr+1);
return 1;
}
Quando viene eseguito, emette:
arr[i] 3219650892
arr[i] 3219650896
arr[i] 3219650900
arr[i] 3219650904
arr[i] 3219650908
*******************
3219650912
Sembra che mi sta mostrando l'indirizzo dell'ultimo elemento aggiunto con 1 altro numero intero che sembra essere strano. Sento che avrebbe dovuto darmi l'indirizzo del secondo elemento.
Potete aiutarmi a capire questo comportamento?
& arr significa (char *) [5], +1 significa +5 indice. – BLUEPIXY