It will be easiest to remove the duplicates after sorting, since they will be next to each other. Just walk through the array with two iterators, one that always moves forward and one that only moves forward if the next element is not a duplicate:
int i, j;
char prev = -1;
for (i = j = 0; i < (sizeof cchars); i++)
if (prev != cchars[i])
prev = cchars[j++] = cchars[i];
You may also want to fill the rest of your array with NUL characters afterwards:
memset(cchars + j, 0, (sizeof cchars) - j);
That code, applied after the qsort, will convert:
{'a','z','f','m','d','a'}
to {'a', 'd', 'f', 'm', 'z', '\0'}
.