ANSI C变量声明语法" + 0"?

时间:2012-08-13 13:51:06

标签: c syntax definition

我必须使用外部C代码(最初在嵌入式硬件上运行)在PC上工作,我不允许修改。

一个.h文件中的一些变量声明如下所示:

extern int variableA;
extern variableB;
extern variableC+0;
  • 变量A的声明很清楚。
  • 变量B的声明通过编译器,假定类型为int。
  • 变量C的声明失败。

问题: 什么样的语法用于variableC的声明?如何让编译器接受它(不允许代码修改)?这甚至是一种有效的C语法吗?

用于该项目的编译器是VS2008内部编译器。

更新

我追溯了包含,而#define没有改变这种语法。仅供参考,该代码来自机载硬件,并且可以正确编译(使用HW的编译器)。该变量在我可用的代码部分中用作常规变量:

variableC+0 = otherVar;

感谢您的回复,这实际上似乎是无效的标准C代码,仅适用于该特定编译器。

2 个答案:

答案 0 :(得分:0)

这种语法在C标准中没有任何意义。

答案 1 :(得分:0)

根据MSDN,这是无效的语法。

 identifier:

    nondigit

    identifier nondigit

    identifier digit

nondigit: one of

    _ 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

    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

digit: one of

    0 1 2 3 4 5 6 7 8 9

完全没有加分。 我认为,加号将被解析为任何类似C语言的解析器的表达式。