In an interpretted language you can do that, but in a compiled language like C, the variable names disappear from the executable code (although they can appear in debugging infomation).
You should come up with another strategy. You mentioned an array of structs. How about an array of arrays of structs? Then you could have the section names with the index of that section's position in the array of arrays.
If the names are in sorted order then they can be searched efficiently with binary search, although if there's only a handful of them a linear search is probably good enough.
Code:
Index
alpha 0
beta 1
gamma 2
Data
0 1 2 3 4
0 struct struct struct struct
1 struct struct struct
2 struct struct struct struct struct
What is the maximum number of sections?
What is the maximum number of structs per section?