{
int _i;
int _j;
} _foo_t;
_foo_t _a_foo = {1, 2};
_t is mostly for type defined by typedef and old code doesn't use this convention. _ is mostly for internal C runtime functions or non-standard compliant functions.
Any way it's just naming convention -- kind of guildlines only.