Not necessarily. size_t is a type that can hold the size of the largest supported object. For example, on ye olde x86 segmented memory system, size_t might be only 16 bits wide (no object can be larger than 64 KiB), even though a pointer might be 20 bits wide (for a whopping 1 MiB of addressable memory).
size_t is an appropriate type to use when referring to object sizes (e.g., with malloc) or indexes into arrays, since size_t is guaranteed to be capable of indexing every possible location in an array.