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