静态数组在C语言中是在编译时分配内存的。静态数组的内存分配发生在程序加载时,存储在程序的数据段(data segment)中。静态数组的大小在编译时确定,编译器会根据数组的类型和大小来分配足够的内存空间,而且数组的内存空间是固定的,在整个程序的生命周期中都不会改变。因此,静态数组在内存中的位置是固定的,并且在程序运行期间保持不变。