1 обычные неинициализированные переменные в функции размещаются на стеке. Если есть возможность, могут быть размещены в регистрах. При ключевом слове static размещается в bss. При ключевом слове const размещается в rodata. То же касается и массивов, разве что в регистрах вряд ли разместятся (хотя, мало ли какие архитектуры могут быть).
2 глобальные неинициализированные массивы размещаются в bss, const - в rodata.
5 массив будет храниться на стеке, при входе в функцию инициализироваться данными из rodata. Массивы неразрывные и однородные, его части не могут быть разного типа хранения. Тут тоже надо иметь в виду, что const будет лежать в rodata, static - в data
4 как сказал, массив однородный и неразрывный, глобальный инициализированный будет весь в data.