Ответ зависит от того, для чего вы решили использовать неподписанный символ. Символ - это ничего , кроме небольшого целого числа, которое имеет размер 8 бит в 99% всех реализаций.
В C есть поддержка строк, которая хорошо сочетается с char, но это не ограничивает использование char для строк.
Правильный способ инициализации указателя зависит от 1) его области применения и 2) его предполагаемого использования.
Если указатель объявлен статическим и / или объявлен в области видимости файла, то ISO C / C ++ гарантирует, что он инициализирован в NULL. Пуристы стиля программирования все равно установили бы его в NULL, чтобы их стиль соответствовал локальным переменным области видимости, но теоретически это бессмысленно.
Что касается того, что инициализировать, чтобы ... установить его в NULL. Не устанавливайте его в «», потому что это выделит статический фиктивный байт, содержащий нулевое завершение, которое станет крошечной утечкой статической памяти, как только указатель будет назначен чему-то другому.
Кто-то может спросить, зачем вам вообще нужно инициализировать его вообще. Просто установите его на что-то действительное, прежде чем использовать его. Если вы беспокоитесь об использовании указателя перед тем, как дать ему правильное значение, вы должны найти подходящий статический анализатор для поиска таких простых ошибок. Даже большинство компиляторов поймают эту ошибку и выдадут вам предупреждение.