Я наткнулся на какое-то странное поведение, для которого я не мог найти информацию в Интернете. Если я инициализирую логический массив следующим образом:
bool condition[10] = {true,[5]=true};
Я получаю вывод, который я ожидаю, первое и шестое значения истинны, а другие - false. Но если я напишу следующий фрагмент:
bool condition[10] = {true,condition[5]=true};
Сначала я получаю первое, второе и шестое значения. Я предполагаю, что это своего рода поведение undefined, но я хотел бы, чтобы кто-то более осведомленный, чем я, объяснил мне, что происходит.
Я компилирую с дополнительными предупредительными флагами, используя GCC и "-std = gnu99", и я не получаю никаких ошибок.