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.