typedef char __darwin_uuid_string_t[37];
このコードはMacOS10.8/user / include / sys / _types.hから除外されています。なぜここに37の数字があるのに、2の累乗ではないのか疑問に思います。
UUIDは36文字の長さであるため、最後のnull文字を含む37文字の文字列を形成します。
UUIDは、16オクテット(128ビット)の数値です。標準形式では、UUIDは32桁の16進数で表され、ハイフンで区切られた5つのグループに8-4-4-4-12の形式で表示され、合計36文字(32桁と4つのハイフン)になります。
UUIDには、36文字と終了0バイトが含まれます。
例(ウィキペディアのページから):550e8400-e29b-41d4-a716-446655440000
36文字のUUID(32桁と4つの'-'区切り文字)、および0のターミネータ。
私は仮定しています。
すべてが2の累乗である必要はありません。