Where do I find the definition of size_t, and what is it used for?
c, c++, size-t, variables
Solution
From Wikipedia
The `stdlib.h` and `stddef.h` header files define a datatype called `size_t`1 which is used to represent the size of an object. Library functions that take sizes expect them to be of type `size_t`, and the sizeof operator evaluates to `size_t`.
The actual type of `size_t` is platform-dependent; a common mistake is to assume `size_t` is the same as unsigned int, which can lead to programming errors,2 particularly as 64-bit architectures become more prevalent.
From C99 7.17.1/2
The following types and macros are defined in the standard header `stddef.h`
<snip>
`size_t`
which is the unsigned integer type of the result of the sizeof operator
Problem
I see variables defined with this type but I don't know where it comes from, nor what is its purpose. Why not use int or unsigned int? (What about other "similar" types? Void_t, etc).