Using <stdint.h> (or creating your own surrogate) is very common in embedded development. This makes variable sizes and memory usage more obvious and greatly simplifies porting. I find myself using <stdint.h> when writing desktop software in C when I'm used to it from embedded development. The thought of the magnitude of the variables also makes me think of cases of overflow, etc.
For me, this will simply clear C to use the <stdint.h> -defined types, since it makes everything much more portable and the source code more explicit in its stack / heap allocation. Accepted, this makes more sense in memory-limited systems, but I still think it's good practice.
source share