Punctuation
From cppreference.net
Estos son los símbolos de puntuación en C. El significado de cada símbolo se detalla en las páginas enlazadas.
Contenidos |
{
}
- En una struct o union , delimita el struct-declaration-list .
- En una enum , delimita la lista de enumeradores.
- Delimita una compound statement . La compound statement puede ser parte de una function definition .
- En initialization , delimita los inicializadores.
[
]
- Operador de subíndice .
- Parte del declarador de arreglo en una declaración o un type-id .
- En inicialización , introduce un designador para un elemento de arreglo. (desde C99)
- En un especificador de atributos , delimita los atributos. (desde C23)
#
- Introduce una directiva de preprocesamiento .
- El operador de preprocesamiento para la conversión a cadena .
##
(
)
- En una expresión, indica agrupación .
- Operador de llamada a función .
-
En una expresión
sizeof,_Alignof(desde C11) ,typeofotypeof_unqual(desde C23) , delimita el operando. - En una conversión explícita , delimita el type-id.
- En un literal compuesto , delimita el type-id. (desde C99)
- En una declaración o un type-id , indica agrupación.
- En un declarador de función (en una declaración o un type-id ), delimita la lista de parámetros.
-
En una sentencia
if,switch,while,do-while, ofor, delimita la cláusula de control. - En una definición de macro tipo función , delimita los parámetros de la macro.
- En una invocación de macro tipo función , delimita los argumentos de la macro o evita que las comas se interpreten como separadores de argumentos.
-
Parte de un operador de preprocesamiento
defined,__has_include,__has_embedo__has_c_attribute(desde C23) . - Parte de una expresión de selección genérica . (desde C11)
-
En un especificador de tipo
_Atomic, delimita el type-id. (desde C11) - En una declaración de aserción estática , delimita los operandos. (desde C11)
-
En un especificador
_Alignas, delimita el operando. (desde C11) - En un atributo , delimita los argumentos del atributo. (desde C23)
- En un nombre de tipo entero de precisión de bits ( _BitInt ( N ) ), delimita el tamaño. (desde C23)
- Parte del reemplazo de __VA_OPT__ en una definición de macro variádica. (desde C23)
- En un parámetro de preprocesador usado en #embed directivas y __has_embed expresiones de preprocesamiento, delimita la cláusula del parámetro de preprocesador. (desde C23)
;
- Indicar el final de
-
- una statement (incluyendo el init-statement de una for statement)
- una declaration o struct-declaration-list
- Separe la segunda y tercera cláusula de una sentencia for .
:
- Parte de operador condicional .
- Parte de declaración de etiqueta .
- En una declaración de miembro de campo de bits , introduce el ancho.
- Introduce una base de enum , que especifica el tipo subyacente del enum. (desde C23)
- En una asociación genérica , delimita el type-id o default y la expresión seleccionada. (desde C11)
...
- En la lista de parámetros de un declarador de función, indica una función variádica .
- En una definición de macro , indica una macro variádica. (desde C99)
?
- Parte de operador condicional .
::
- En un atributo , indicar el ámbito del atributo. (desde C23)
- En un parámetro prefijado del preprocesador (utilizado por #embed y __has_embed ), indicar el ámbito. (desde C23)
.
- Operador de acceso a miembros .
- En inicialización , introduce un designador para un miembro de struct/union. (desde C99)
->
~
!
+
-
*
- Operador de indirección .
- Operador de multiplicación .
- Operador de puntero en un declarador o en un type-id .
- Marcador de posición para la longitud de un declarador de arreglo de longitud variable en una declaración de función . (desde C99)
/
%
^
&
|
=
- Operador de asignación simple .
- En la inicialización , delimita el objeto y la lista de inicializadores.
- En una definición de enum , introduce el valor de la constante de enumeración.
+=
-=
*=
/=
%=
^=
&=
|=
==
!=
<
- Operador menor que .
- Introducir un nombre de cabecera en
-
- una #include directiva
- una __has_include expresión de preprocesamiento (desde C23)
- una #embed directiva (desde C23)
- una __has_embed expresión de preprocesamiento (desde C23)
-
ubicaciones definidas por la implementación dentro de una
#pragmadirectiva
>
- Operador mayor que .
- Indicar el final de un nombre de cabecera en
-
- una #include directiva
- una __has_include expresión de preprocesamiento (desde C23)
- una #embed directiva (desde C23)
- una __has_embed expresión de preprocesamiento (desde C23)
-
ubicaciones definidas por la implementación dentro de una
#pragmadirectiva
<=
>=
&&
||
<<
>>
<<=
>>=
++
--
,
- Operador coma .
- Separador de lista en
-
- la lista de declaradores en una declaración
- lista de inicializadores en inicialización , incluyendo compound literals (desde C99)
- la lista de argumentos en una expresión de llamada a función
- la lista de enumeradores en una declaración enum
- una lista de parámetros de función
- la lista de parámetros de macro en una definición de macro tipo función
- la lista de argumentos de macro en una invocación de macro tipo función , a menos que se encuentre entre un conjunto interno de paréntesis
- la lista de asociaciones genéricas en una expresión de selección genérica (desde C11)
- una lista de atributos (desde C23)
- En una declaración de aserción estática , separa los argumentos. (desde C11)
- En una expresión de selección genérica , separa la expresión de control y la lista de asociaciones genéricas. (desde C11)
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 6.4.6 Puntuadores (p: 68-69)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 6.4.6 Puntuadores (p: 52-53)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 6.4.6 Puntuadores (p: 72-73)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 6.4.6 Puntuadores (p: 63-64)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 3.1.6 Puntuadores
Véase también
| Representaciones alternativas (C95) | grafías alternativas para ciertos operadores |
|
Documentación de C++
para
Puntuación
|
|