Вариант const char*
правильный.
Вы не должны изменять память, которая исходит из строкового литерала (обычно называемого статическим хранилищем).Это только для чтения памяти.
Разница в том, что вариант char*
позволит вам написать синтаксис для изменения данных, на которые он указывает, путем разыменования его.Что он на самом деле делает, хотя и не определено.
//Option 1:
char *p = "orkut";
*p = 'x';//undefined behavior
//Option 2:
const char *q = "orkut";
*q = 'x';//compiling error
Я бы предпочел, чтобы вариант 2 случился со мной.