A static array with of size 32 represents 32 possible softirq's:
struct softirq_action softirq_vec[NR_SOFTIRQS];
Each used struct entry holds a function. These softirq's are allocated statically at compile time.
(Not all 32 are used in current Linux versions.)
A softirq is a possibility for a bottom half.