const char *token_names[] = { [CT_POUND] = "POUND", [CT_PREPROC] = "PREPROC", [CT_PREPROC_BODY] = "PREPROC_BODY", [CT_PP] = "PP", }; int main(int argc, char *argv[]) { struct junk a[] = { { "version", 0, 0, 0 }, { "file", 1, 150, 'f' }, { "config", 1, 0, 'c' }, { "parsed", 25, 0, 'p' }, { NULL, 0, 0, 0 } }; } color_t colors[] = { { "red", { 255, 0, 0 } }, { "blue", { 0, 255, 0 } }, { "green", { 0, 0, 255 } }, { "purple", { 255, 255, 0 } }, }; struct foo_t bar = { .name = "bar", .age = 21 }; struct foo_t bars[] = { [0] = { .name = "bar", .age = 21 }, [1] = { .name = "barley", .age = 55 }, }; void foo(void) { int i; char *name; i = 5; name = "bob"; } /** * This is your typical header comment */ int foo(int bar) { int idx; int res = 0; // trailing comment // that spans two lines for (idx = 1; idx < bar; idx++) /* comment in virtual braces */ res += idx; res *= idx; // some comment // almost continued, but a NL in between // col1 comment in level 1 return(res); } // col1 comment in level 0 #define foobar(x) \ { \ for (i = 0; i < x; i++) \ { \ junk(i, x); \ } \ } void foo(void) { switch(ch) { case 'a': { handle_a(); break; } case 'b': handle_b(); break; case 'c': case 'd': handle_cd(); break; case 'e': { handle_a(); } break; default: handle_default(); break; } }