Бінарна форма IPv4-адрес — 32, а максимальна довжина — 15 у нашій поширеній точковій десятковій формі, наприклад, "255.255.255.255"
Отже, максимальна довжина форми рядка адреси IPv4, визначеної в <netinet/in.h> posix, становить 16 байт, а термінатор '\0' також повинен займати 1 байт:
#define INET_ADDRSTRLEN 16 Бінарна форма IPv6-адрес має довжину 128 і виражається у шістнадцятковій формі, наприклад «fffff:ffff:ffff:ffff». Спочатку я думав, що максимальна довжина рядка IPv6 адреси становить 128/4+7+1=40 байт
Однак, розглядаючи форму рядка адреси IPv6, визначену в <netinet/in.h> posix, максимальна довжина становить 46 байт
#define INET6_ADDRSTRLEN 46 IPv6-адреса, спочатку відображена IPv4, може мати такий формат «ffff:ff:ff:ffff:255:255:255:255:255», що дорівнює 45 байтам, плюс символ закриття — 46 байт
|