La prima cosa che ho visto, e mi sono fermato, è che inserisci una stringa in ip che è un char... ovvio che c'è un seg fault. Non escludo altri errori ...

p.s. Se usassi i tag code per il codice sarebbe meglio