Si con "almacenar char" te refieres a pedir los datos que entrarán en la cadena de caracteres, lo que has hecho está bien.
No obstante, no recomiendo pedir una cadena de caracteres con scanf, mejor que uses gets o fgets, ya que scanf coge solo hasta el primer espacio que le introduzcas.
Cada carácter que le vayas metiendo, uses la función que uses para introducir los datos (gets o fgets, scanf, como ya dije, mejor que no), se meterá en un espacio del array. Por ejemplo:
char cadena[20];
printf("Introduzca la cadena");
gets(cadena);
Salida por consola:
--> Introduzca la cadena
------> hola !
por lo tanto, en cadena quedaría así:
cadena[0] = 'h'
cadena[1] = 'o'
cadena[2] = 'l'
cadena[3] = 'a'
cadena[4] = ' ';
cadena[5] = '!'
cadena[6] = '\0'
cadena[6] tiene un '\0' porque así es más fácil de manipular la cadena (cuando profundices en usar funciones para manipular cadenas te darás cuenta). La función gets le añade el carácter automáticamente.
Aquí tienes un manual, tanto en formato html como en pdf:
http://www.nachocabanes.com/c/A mí me sirvió bastante ese.
¿Era eso?
Saludos.