6.5.1 Basic Expressions
Grammar
1,primary-expression:
identifier
constant
string-literal
( expression )
generic-selection
Semantic
2, an identifier is a basic expression, provided as, it as the assignment of an object (in this case, it is an lvalue) or a function (in this case, it is a function specifier) and is declared. [Note: Thus, an undeclared identifier is a violation of this syntax.] [ Translator Note : for example:
int Ten ; A; // This is a basic expression
]
3, a constant is a basic expression. Its type depends on its form and value, which is described in detail in 6.4.4.
4, a string literal is a basic expression. It is an lvalue with the type described in 6.4.5.
5, a bracket expression is a basic expression. Its type and value are the same as the corresponding expression that does not use parentheses. It is an lvalue, a function specifier, or a void expression, if the expression without parentheses is an lvalue, a function-specifier, or a void expression.
6, a generic selection is a basic expression. Its type and value depend on the selected generic association, which is described in detail in the following sub-clauses.
6.5.1.1 Generic Selection
Grammar
1.
ISO/IEC 9,899:2011 clause 6.5.1--basic expressions