char saddr[16];
sprintf(saddr, "%d.%d.%d.%d", (unsigned char)address[0], (unsigned char)address[1], (unsigned char)address[2], (unsigned char)address[3]);
или
char saddr[16];
unsigned char *addr = (unsigned char*)address;
sprintf(saddr, "%d.%d.%d.%d", addr[0], addr[1], addr[2], addr[3]);
или, как указывает dreamlax:
char saddr[16];
sprintf(saddr, "%hhu.%hhu.%hhu.%hhu", address[0], address[1], address[2], address[3]);