В чем разница между строковой константой и строковым литералом в C?
В чем разница между строковой константой и строковым литералом в простом C?
Этот вопрос похож на другой: в чем разница между строковой константой и строковым литералом? ... за исключением того, что один касался Objective-C (используя NSString), а не C.
5 ответов
Они одно и то же. Просто предпочтение, какое слово вы используете для описания строки.
В проекте C99 от 2007 года используется термин " жало". Термин строковая константа вообще не появляется в черновике.
Я считаю, что строковый литерал - хороший выбор термина, когда мы говорим о "foo" (так же, как 42 - это буквальное число, "foo" - это буквальная строка).
Правописание второго слова используется для описания той же идеи?
Я бы расценил их как одно и то же - альтернативные термины для той же конструкции.
const char * strConst;
strConst = "Hello World";
В этом примере
strConst
строковая константа"Hello World"
является строковым литералом, и обычно хранится в области только для чтения программы.
Литерал и константа означают то же самое, что является обозначением для представления фиксированного значения в исходном коде.