A good article explaining why comes the size_t type for C/C++: http://www.embedded.com/columns/programmingpointers/200900195