secuencias rutas escape comandos caracteres c++ c special-characters

rutas - El símbolo At(@) y el signo de dólar($) tiene algún significado especial en C o C++



secuencias de escape en c pdf (3)

Recientemente, uno de mis amigos encontró esta pregunta en una entrevista. El entrevistador le preguntó si los caracteres especiales como $, @, |, ^, ~ tienen algún uso en c o c ++ y dónde.

Sé que |, ^ and ~ se usan como Bitwise OR, XOR y Complement respectivamente.

Pero no sé si @ and $ tienen algún significado especial. Si lo hace, ¿podría dar un ejemplo de dónde se puede aplicar?


Para completar la respuesta aceptada, la @ se puede usar para especificar la dirección absoluta de una variable en los sistemas integrados.

unsigned char buf[128]@0x2000;

Tenga en cuenta que esta es una extensión de compilador no estándar.

Echa un vistazo a una buena explicación here


Para completar las otras respuestas. El estándar C99 en 5.2.1.3:

Tanto la fuente básica como los conjuntos de caracteres de ejecución básicos tendrán los siguientes miembros:

Las 26 letras mayúsculas del alfabeto latino.

ABCDEFGHIJKLM NOPQRSTUVWXYZ

Las 26 letras minúsculas del alfabeto latino.

abcdefghijklm nopqrstuvwxyz

los 10 decimales

0 1 2 3 4 5 6 7 8 9

los siguientes 29 caracteres gráficos

! " # % & '' ( ) * + , - . / : ! " # % & '' ( ) * + , - . / : ; < = > ? [ / ] ^ _ { | } ~

Todos los demás personajes tal vez ni siquiera existan. (Y no debe ser usado)

Pero también hay este punto en las extensiones comunes: Anexo J, J.5.2:

Los caracteres que no sean el subrayado _, letras y dígitos, que no forman parte del conjunto de caracteres de origen básico (como el signo de dólar $, o los caracteres de los conjuntos de caracteres nacionales) pueden aparecer en un identificador (6.4.2).

Que es básicamente lo que duskwuff ya escribió.


@ es generalmente inválido en C; No se usa para nada. Objective-C lo usa para varios propósitos, pero es un caldo de pescado completamente diferente.

$ no es válido también, pero muchas implementaciones permiten que aparezca en los identificadores, como una letra. (En estas implementaciones, por ejemplo, podría nombrar una variable o función $$$ si lo desea). Sin embargo, incluso allí no tiene ningún significado especial.