Сам массив будет в стеке. При входе в функцию будет немного кода, который копирует значения, хранящиеся в каком-либо неназванном массиве в области глобальной / статической памяти, в локальный массив стека. Вероятно, что безымянный глобальный / статический массив с начальными значениями находится в той же области общей памяти, что и строковые литералы.
Обратите внимание, что стандарт не требует ничего из этого - но в значительной степени это будет реализовывать любой компилятор. Достаточно умный компилятор может заметить, что значения являются просто инкрементными целочисленными значениями, и может создать цикл для инициализации локального массива
(этот ответ предполагает C / C ++ - я не знаю, изменит ли Objective-C что-либо из этого).