Voici un exemple de code:
int* arr = (int*)malloc(2 * sizeof(int));
arr = arr + 1;
*arr = 11;
arr[-1] = 22;
int x = arr[0]; // x = 11
int y = arr[1]; // y = 194759710
Après une allocation mémoire, le pointeur arr
est incrémenté. Je m'attendais à obtenir les résultats suivants:
x == 22
y == 11
Pouvez-vous expliquer comment cela fonctionne ?