For*_*ner 24 c c++ special-characters
最近我的一位朋友在接受采访时遇到了这个问题.面试官问他是否有特殊字符$, @, |, ^, ~
在c或c ++中有任何使用方法.
我知道它们|, ^ and ~
分别用作Bitwise OR,XOR和Complement.
但我不知道是否@ and $
有任何特殊含义.如果有,请举例说明可以应用的地方吗?
dus*_*uff 27
@
在C中通常无效; 它不用于任何东西.它被Objective-C用于各种目的,但这是另一个鱼的水壶.
$
也是无效的,但许多实现允许它出现在标识符中,就像一个字母.(例如,在这些实现中,$$$
如果您愿意,可以命名变量或函数.)即使在那里,它也没有任何特殊含义.
要完成接受的答案,@
可以使用它来指定嵌入式系统上变量的绝对地址.
unsigned char buf[128]@0x2000;
Run Code Online (Sandbox Code Playgroud)
请注意,这是一个非标准的编译器扩展.
在这里查看一个很好的解释
完成其他答案.5.2.1.3中的C99标准:
基本源代码和基本执行字符集都应具有以下成员:
拉丁字母的26个大写字母
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
拉丁字母的26个小写字母
a b c d e f g h i j k l m
n o p q r s t u v w x y z
10位十进制数字
0 1 2 3 4 5 6 7 8 9
以下29个图形字符
! " # % & ' ( ) * + , - . / :
; < = > ? [ \ ] ^ _ { | } ~
所有其他角色甚至可能都不存在.(不应该使用)
但共同扩展中也有这一点:附件J,J.5.2:
除了下划线_,字母和数字之外的不属于基本源字符集的字符(例如美元符号$或国家字符集中的字符)可能出现在标识符(6.4.2)中.
这基本上就是duskwuff已写的内容.
归档时间: |
|
查看次数: |
16112 次 |
最近记录: |