I read in my unix text book that bss is used to store the uninitialized variables(global declarations). This would mean that the static variables are stored separately and n
bss
is traditionally the so-called uninitialized variables, but C and Unix guarantee they are initialized to zero. (See this.) It is a portion of the data segment, usually right after the program-statically-initialized-variable space. Just higher in memory than bss is usually the beginning of the heap.