What's the mechanism behind nameless brackets in left hand assignment as seen in initramfs? <p>I was browsing the Linux source and I came across an unfamiliar piece of code on line 400 of <a href="https://github.com/torvalds/linux/blob/master/init/initramfs.c" rel="nofollow">initramfs</a>. I get that the names in the brackets are states from an enum on 188. It also seems to me that this is a default array setting function pointers ( I could be wrong).</p> <p>I don't understand what the brackets are for, what's an example use case?I also found the equal signs confusing. Additionally, I'd like to know if there's a general name for the pattern the code implements. </p> <pre><code>static __initdata int (*actions[])(void) = { [Start] = do_start, [Collect] = do_collect, [GotHeader] = do_header, [SkipIt] = do_skip, [GotName] = do_name, [CopyFile] = do_copy, [GotSymlink] = do_symlink, [Reset] = do_reset, }; </code></pre> <p>Side; Apologies for a naive/general question, I'm trying to broaden my knowledge of C. I searched for and couldn't find a comprehensive commented version of the source in english. </p>