Как указатель указывает на [-1] -й индекс массива, каждый раз получая допустимый вывод. Что на самом деле происходит при назначении указателя?
#include<stdio.h>
int main()
{
int realarray[10];
int *array = &realarray[-1];
printf("%p\n", (void *)array);
return 0;
}
Вывод кода:
manav@workstation:~/knr$ gcc -Wall -pedantic ptr.c
manav@workstation:~/knr$ ./a.out
0xbf841140
РЕДАКТИРОВАТЬ: Если этот сценарий действителен, то я могу использовать это, чтобы определить массив, индекс которого начинается с 1 вместо 0, а именно: массив [1], массив [2], ...