问题1:
c
char 1_RSSI[10] = {0};
这样定义报错了: error: #40: expected an identifier
解决1:
这是由于不符合C语言语法导致的报错。
C语言中,变量名字不能以数字开头,否则编译器就认为是非法的。
正确的可以是:
c
char RSSI1[10] = {0};
C语言变量命名规则:
(1)变量名的**开头必须是字母或下划线,不能是数字。**而以下划线开头的变量名是系统专用的。
(2)变量名中的字母是区分大小写的
(3)变量名绝对不可以是C语言关键字
(4)变量名中不能有空格
问题2:
如下这段代码,编译时报错:x declared implicitly
c
int main()
{
x = 10; // 变量x未被声明
printf("x = %d\n", x);
return 0;
}
解决2:
这是因为x在使用之前未声明或定义,编译器在遇到x时无法找到其声明或定义。
变量与函数都是类似的,在使用之前要进行声明或定义。
正确的如下:
c
int main()
{
int x; // 声明变量x
x = 10; // 给x赋值
printf("x = %d\n", x);
return 0;
}
在Keil中,函数或变量经常要在头文件中进行声明(容易忽视,导致报错),这样别的.c文件才可以使用。