Um exemplo resolverá sua dúvida. Imagine que você queira declarar uma variável e colocar o caractere 'A' nela. Você faz assim:
char c = 'A';
Mas, você também pode fazer assim:
char c = '\65';
Pq 65 é o código ASCII do caractere 'A'. E se vocẽ quisesse colocar o valor 0 (não o caractere '0')? Pode fazer isso de duas maneiras (vou usar o seu exemplo):
char x[3][3] = { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } };
Esses valores 0 são inteiros que o compilador converterá para 'char'. Você pode fazer isso diretamente usando o "caractere" '\0'.
No caso do seu exemplo, duas variáveis são criadas: x e n. A variável "n" é inicializada com o caractere 'X'.
Blz?