Segmentantion faul = Errore rispetto la segmentazione

Hai scritto fuori dallo spazio di indirizzamento del segmento o (come credo sia in questo caso) hai scritto su uno spazio riservato di sola lettura (come il segmento text). Non e' che hai fatto una roba tipo:

char *p;
p = "ciao";
strcpy(p, "miao");
oppure
p[0] = 'a';

Questi non sono errori di sintassi (quindi il compilatore non te li rileverà) ma essendo la zona text marcata come read-only ed essendo la stringa "ciao" allocata li niente di piu' facile che tu abbia ottenuto quell'errore. Pasta un po di codice.
bye