【发布时间】:2016-12-09 06:08:55
【问题描述】:
我只是尝试在 C 中创建带括号“n_()”的变量,但它不起作用,它给了我错误。有人可以告诉我其中的问题。
【问题讨论】:
-
您可以编写括号,但它们会将“变量”转换为(非原型)函数声明。它们永远不会成为 C 中标识符的一部分。
标签: c variables declaration variable-declaration
我只是尝试在 C 中创建带括号“n_()”的变量,但它不起作用,它给了我错误。有人可以告诉我其中的问题。
【问题讨论】:
标签: c variables declaration variable-declaration
在 C 中,int n_(); 声明了一个返回 int 的函数,而不是一个变量。 () 不是,也不能是标识符名称的一部分。
【讨论】:
如果您在标准中看到标识符的定义,您就会明白。
identifier:
identifier-nondigit
identifier identifier-nondigit
identifier digit
identifier-nondigit:
nondigit
universal-character-name
other implementation-defined characters
nondigit: one of
_abcdefghijklm
nopqrstuvwxyz
ABCDEFGHIJKLM
NOPQRSTUVWXYZ
digit: one of
0123456789
标识符只能以 nondigit 中的值开头,并且以 nondigit 和 digit 中的值作为元素
abc, a1234, __abc, ab_c 都是有效的标识符。
1abc, abc+, abc(, ab-c, 不是有效的标识符。
附: universal-character-name 定义如下
universal-character-name:
\u hex-quad
\U hex-quad hex-quad
hex-quad:
hexadecimal-digit hexadecimal-digit
hexadecimal-digit hexadecimal-digit
它们用于指代不在基本字符集中的字符。例如\u0024 ($), \u0040 (@)
【讨论】: