The standard typedef name size_t represents a platform-defined unsigned integral data type. If you’re a Unix or Linux programmer, you may have come across another similar typedef, namely ssize_t. This typedef is not defined by the ANSI standard but it’s widely used in any POSIX-based framework. ssize_t is the signed type corresponding to size_t. In other words, a variable of type ssize_t can have negative values, unlike variables of type size_t. ssize_t hides non-portable word sizes (e.g., 32-bit long vs. 64-bit long) but it also indicates that you should expect a negative value. For example, a function that returns the number of network connections can indicate a network error by returning