I\'m working on a library that extensively used constructs like
typedef struct foo_bar_s {
...
} foo_bar_t;
It\'s a bad idea to use the
Although, "_t" is reserved, it is very unlikely that you will encounter a problem. However, this convention is a remnant of older versions of C where this syntax was required in order to name structs, and so nowadays you can simply write something like the following (omitting the typedef and the typedef names):
struct name_of_struct
{
type1 member1;
type2 member2;
// ...
typeN memberN;
};
And yes, you can use single line comments ("//...") in the current standard of C.
I use the naming conventions used in Dave Hanson's C Interfaces and Implementations: a type is named with the module name and a capital T. So for example, the type of sequences is Seq_T, and the type of hash tables is Table_T. Within the implementation of a module Hanson uses #define to abbreviate just to T. This is basically Modula-3 conventions applied to C programming, but I find that after a brief initial shock it works well.