For example, I'd like to know if there is any significant difference or good/bad practice
Doing this way:
unsigned int length_addr;
length_addr = sizeof(cli_addr);
nbytes = recvfrom(sockfd, buffer, sizeof(buffer), 0,
(struct sockaddr *)&cli_addr, &length_addr);
and this way:
nbytes = recvfrom(sockfd, buffer, sizeof(buffer), 0,
(struct sockaddr *)&cli_addr, sizeof(cli_addr));