В чем разница между строковой константой и строковым литералом в C? - PullRequest
2 голосов
/ 12 октября 2010

В чем разница между строковой константой и строковым литералом в простом C?

Этот вопрос похож на другой: В чем разница между строковой константой и строковым литералом? ... за исключением того, что речь шла об Objective-C (с использованием NSString), а не C.

Ответы [ 5 ]

6 голосов
/ 12 октября 2010

В C99 Draft от 2007 используется термин sting literal .Термин строковая константа вообще не фигурирует в черновике.

Я считаю строковый литерал хорошим выбором при разговоре о "foo" (так же, как42 - это буквальное число, «foo» - это буквальная строка).

2 голосов
/ 12 октября 2010

Они одно и то же.Просто предпочтение, какое слово вы используете для описания строки.

1 голос
/ 12 октября 2010

Правописание второго слова, использованного для описания той же идеи?

Я бы расценил их как одно и то же - альтернативные термины для той же конструкции.

0 голосов
/ 12 октября 2010

Литерал и константа означают то же самое, что является обозначением для представления фиксированного значения в исходном коде.

0 голосов
/ 12 октября 2010
const char * strConst;
strConst = "Hello World";

В этом примере

  • strConst - строковая константа.
  • "Hello World" является строковым литералом и обычно хранится в области программы, доступной только для чтения.
...