关于声明;
C和C ++中的每个对象声明都有两个主要部分:一个零或多个声明说明符的序列,以及一个或多个声明符的序列,用逗号分隔。 例如:
零指示符是否将名为a
的变量声明为
a;
而不是
int a;
? 我试着用一个例子
#include <stdio.h>
int main(){
x = 9;
printf("%d\n", x);
return 0;
}
这是一个错误:
[Error] 'x' undeclared (first use in this function)
答案 0 :(得分:2)
在c89中可以使用隐式int
规则,但至少需要一个限定符或存储类说明符。
auto x = 3; /* allowed in c89, not valid in c99 */
static y = 4; /* allowed in c89, not valid in c99 */
const z = 5; /* allowed in c89 , not valid in c99*/
a; /* not valid in c89, c99 without a prior declaration */
b = 6; /* not valid in c89, c99 without a prior declaration */
答案 1 :(得分:1)
无论你从哪里得到这个陈述,都是错的。您必须至少有一个声明说明符才能使声明有效。这是标准中的相关位(这是一个图像,因为我不能使降价行为):