Ich würde gerne wissen, warum dies auftritt. Ich erstelle ein 5-Elemente-Array mit ganzen Zahlen - jedes Element benötigt 4 Bytes im Speicher. Warum bekomme ich beim Drucken der Adresse von myArray [-1] auch eine gültige Adresse?Speicher von Arrays verwendet
#include <stdio.h>
#include <stdlib.h>
int main()
{
int myArray[] = {1, 2, 3, 4, 5};
printf("0x%p\n0x%p\n0x%p\n", &myArray[-1], &myArray[0], &myArray[1]);
return 0;
}
Ausgang: 0x0028FEF8 0x0028FEFC 0x0028FF00
Ich stimme zu, diese Frage als off-topic zu schließen, weil "UB erklären" –