本文主要是介绍Keil中两个小bug:expected an identifier,declared implicitly,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题1:
char 1_RSSI[10] = {0};
这样定义报错了: error: #40: expected an identifier
解决1:
这是由于不符合C语言语法导致的报错。
C语言中,变量名字不能以数字开头,否则编译器就认为是非法的。
正确的可以是:
char RSSI1[10] = {0};
C语言变量命名规则:
(1)变量名的**开头必须是字母或下划线,不能是数字。**而以下划线开头的变量名是系统专用的。
(2)变量名中的字母是区分大小写的
(3)变量名绝对不可以是C语言关键字
(4)变量名中不能有空格
问题2:
如下这段代码,编译时报错:x declared implicitly
int main()
{x = 10; // 变量x未被声明printf("x = %d\n", x);return 0;
}
解决2:
这是因为x在使用之前未声明或定义,编译器在遇到x时无法找到其声明或定义。
变量与函数都是类似的,在使用之前要进行声明或定义。
正确的如下:
int main()
{int x; // 声明变量xx = 10; // 给x赋值printf("x = %d\n", x);return 0;
}
在Keil中,函数或变量经常要在头文件中进行声明(容易忽视,导致报错),这样别的.c文件才可以使用。
这篇关于Keil中两个小bug:expected an identifier,declared implicitly的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!