c/language/punctuators

These are the punctuation symbols in C. The meaning of each symbol is detailed in the linked pages.

{{tt|{}} }

 * In a or  definition, delimit the.
 * In an definition, delimit the enumerator list.
 * Delimit a . The compound statement may be part of a.
 * In, delimit the initializers.


 * Part of in a  or a.
 * In, introduce a designator for an array element.
 * In an, delimit the attributes.
 * In an, delimit the attributes.


 * Introduce a preprocessing directive.
 * The preprocessing operator for stringification.


 * The preprocessing operator for token pasting.


 * In an expression,.
 * In a expression, delimit the operand.
 * In an, delimit the type-id.
 * In a, delimit the type-id.
 * In a or a, indicate grouping.
 * In a (in a  or a ), delimit the parameter list.
 * In an, , , , or statement, delimit the controlling clause.
 * In a function-like macro definition, delimit the macro parameters.
 * In a function-like macro invocation, delimit the macro arguments or prevent commas from being interpreted as argument separators.
 * Part of a preprocessing operator.
 * Part of a.
 * In an type specifier, delimit the type-id.
 * In a, delimit the operands.
 * In an specifier, delimit the operand.
 * In an, delimit the attribute arguments.
 * Part of replacement in a variadic macro definition.
 * In a preprocessor parameter used in directives and  preprocessing expressions, delimit the preprocessor parameter clause.
 * In a preprocessor parameter used in directives and  preprocessing expressions, delimit the preprocessor parameter clause.


 * Indicate the end of
 * a (including the init-statement of a for statement)
 * a or


 * Separate the second and third clauses of a.


 * Part of.
 * Part of.
 * In a, introduce the width.
 * Introduce an, which specifies the underlying type of the enum.


 * In the of a function declarator, signify a.
 * In a macro definition, signify a variadic macro.


 * Part of.
 * In a, delimit the type-id or and the selected expression.


 * In an, indicate attribute scope.
 * In a preprocessor prefixed parameter (used by c/preprocessor/embed and ), indicate scope.


 * In, introduce a designator for a struct/union member.
 * In, introduce a designator for a struct/union member.


 * Pointer operator operator in a or in a.
 * Placeholder for the length of a variable-length array declarator in a.
 * Pointer operator operator in a or in a.
 * Placeholder for the length of a variable-length array declarator in a.


 * In, delimit the object and the initializer list.
 * In an, introduce the value of enumeration constant.
 * In an, introduce the value of enumeration constant.

{{tt|{{
}}}}===


 * Introduce a header name in
 * a directive
 * a preprocessing expression
 * a directive
 * a preprocessing expression
 * implementation-defined locations within a directive
 * implementation-defined locations within a directive


 * Indicate the end of a header name in
 * a directive
 * a preprocessing expression
 * a directive
 * a preprocessing expression
 * implementation-defined locations within a directive
 * implementation-defined locations within a directive


 * List separator in
 * the declarator list in a
 * initializer list in
 * the argument list in a
 * the enumerator list in an declaration
 * the macro parameter list in a function-like macro definition
 * the macro argument list in a function-like macro invocation, unless found between an inner set of parentheses
 * the generic association list in a
 * an list
 * an list


 * In a, separate the arguments.
 * In a, separate the controlling expression and the generic association list.