Allora il tuo consiglio mi sembra molto sensato, ho utilizzato la malloc per allocare la memoria necessaria,questa funzione mi dovrebbe sostituire la memset giusto? ora per inserire i parametri, quella lista di valori presenti nel memcpy?
char packet=(char) malloc(sizeof(fixed_header)+sizeof(var_header)+strlen(id)); // Alloca memoria per contenere i parametri di connessione per il server
memcpy(packet,fixed_header,sizeof(fixed_header));
memcpy(packet+sizeof(fixed_header),var_header,sizeof(var_header));
memcpy(packet+sizeof(fixed_header)+sizeof(var_header),id,strlen(id));
ti chiedo scusa,ma mi stò approcciando adesso alla programmazione in C e tu mi sembri molto competente,grazie.