C/C++关于标识符的特殊情况$

C/C++中关于标识符的定义为

  • 不能以数字开始,不能有特殊符号
  • 以字母或者下划线开始
  • 只能以字母、数字和下划线组成
  • 不能是C/C++的关键字

此时会有一种特殊情况:

#include <iostream>
using namespace std;
int main()
{
    int _2a$=0x99;
    int _2a=0x99;
    //int _2a@=0x99;
    int $_2a=0x99;
    int _2$a=0x99;
    cout<<_2a$<<endl;
    cout<<_2a<<endl;
    //cout<<_2a@<<endl;                                                                                            
    cout<<$_2a<<endl;
    cout<<_2$a<<endl;
    return 0;
}
使用$符号的标识符可以正常使用,此时与标识符定义冲突,$符号是在C99标准中的一种特殊指定,可以用于标识符。

猜你喜欢

转载自blog.csdn.net/poetry_and_distance/article/details/80932456