Keil中两个小bug:expected an identifier,declared implicitly

问题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文件才可以使用。

相关推荐
枸杞配码2 小时前
arthas线上不停机修改bug
ide·pycharm·bug
Htht1112 小时前
【Github】之【Bug】一直无法连接github的ssh
ssh·github·bug
致微2 天前
Vue项目 bug 解决
前端·vue.js·bug
网安小陈2 天前
【网安】处理项目中的一些常见漏洞bug(java相关)
java·开发语言·数据库·安全·web安全·网络安全·bug
北冥有鱼被烹4 天前
【问题记录】C语言一个程序bug定位记录?(定义指针数组忘记[])
c语言·bug
越学不动啦5 天前
三、概念篇+Bug篇
bug·测试·软件测试入门·bug测试
伏游5 天前
【BUG】生产环境死锁问题定位排查解决全过程
服务器·数据库·spring boot·后端·postgresql·bug
越学不动啦8 天前
四、Bug篇+用例篇
软件测试·测试用例·bug·软件工程·测试基础
有时间要学习8 天前
Test——BUG篇
bug·测试
猫猫头有亿点炸9 天前
电脑连不上手机热点会出现的小bug
bug