char *chars[16] = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p"};
The answer actually depends on what exactly you meant by chars[] declaration.
As is, it is declared as an array of char pointers (aka an array of strings), and initialized as such. Except that they are initialized to strings consisting of 1 char (plus 1 null).
So if you meant it to be an array of strings that happen to be initialized to 1 char, none of the solutions provided so far will work.
If you meant it to be an array of chars, like:
char chars[16] = {'a', 'b', ..., 'p'};
then there is nothing to be done: chars is the pointer to a string.