Предположим, я хочу получить последний элемент автоматического массива, размер которого неизвестен. Я знаю, что я могу использовать оператор sizeof
для получения размера массива и получения последнего элемента соответственно.
Использует *((*(&array + 1)) - 1)
безопасно?
Как
char array[SOME_SIZE] = { ... };
printf("Last element = %c", *((*(&array + 1)) - 1));
int array[SOME_SIZE] = { ... };
printf("Last element = %d", *((*(&array + 1)) - 1));
и т.д.