[Mac M2 Pro 12CPU, MacOS Ventura 13.3.1, clang 14.0.3]
size_tはサイズを表す符号なし整数型データです。
符号なしの整数型であればunsigned intでいいのではないかと考えることもできますが、size_tはポインタを格納する場合もあるため4バイトのunsigned intでは足りないです。8バイト必要になります(64ビットプラットフォームの場合)。
コードで出力しようとするとintと同じように扱えるので何のために存在しているのか疑問に思っていましたが、ようやく理解できました。