Now I'm talking about new type definition by a programmer using typedef keyword. As long as my pupils are used to the type size_t (for example by using function length ()), for which I had to ask them a little effort to just "believe" it is an integer type, I think it would be great to show them where this type is defined.
So, I've done a lot grep's in /usr/include in an Ubuntu box, and what I see is that size_t is, in turn, a redefinition of size_type wihch in turn is a redefinition of metadata_type, and that's the end in this directory. Not found the final "typedef unsigned int metadata_type;".
In /usr/src I've found another previous type called yy_size_t,...
But, in any case I've been unable the get to the end of the chain.
Does anyone know where to find out the final definition to check out that it is an unsigned int (or the like)? May be I miss a development package in my box? In this case, why I'm able to compile programs using size_t type?