c'è qualche posto dove leggere qualcosa davvero chiara su liste e code??

ho provato questo codice ma va in segmentation fault

codice:
#include <stdio.h>

struct iscritti {
	int id;
	char nome;
	char cognome;
};

main ()
{
	struct iscritti is;
	
	is.id = 1;
	is.nome = "ema";
	is.cognome = "nasir";
	
	printf("Iscritto numero: %d\n", is.id);
	printf("Nome: %s\n", is.nome);
	printf("Cognome: %s\n", is.cognome);
}