A7.2. Первичные выражения
Первичные выражения это идентификаторы, константы, строки и выражения в скобках.
первичное - выражение: идентификатор
константа
строка
(выражение)
Идентификатор, если он был должным образом объявлен (о том, как это делается, речь пойдет ниже), - первичное выражение. Тип идентификатора специфицируется в его объявлении. Идентификатор есть lvalue, если он обозначает объект () арифметического типа, либо объект типа "структура", "объединение" или "указатель".
Константа - первичное выражение. Ее тип зависит от формы записи, которая была рассмотрена в .
Строковый литерал - первичное выражение. Изначально его тип - "массив из char" ("массив из wchar_t" для строки символов расширенного набора), но в соответствии с правилом, приведенным в , указанный тип обычно превращается в "указатель на char" ("указатель на wchar_t") с результирующим значением "указатель на первый символ строки". Для некоторых инициализаторов такая замена типа не делается. (см. )
Выражение в скобках - первичное выражение, тип и значение которого идентичны типу и значению этого же выражения без скобок. Наличие или отсутствие скобок не влияет на то, является ли данное выражение lvalue или нет.