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

相关推荐
AI多Agent协作实战派3 天前
AI多Agent协作系统实战(二十二):从6列到12列——任务监控报告的进化之路
java·人工智能·uni-app·bug
自然 醒3 天前
记录We码开发者工具的一个bug
前端·javascript·bug
GeekArch4 天前
第28讲:避坑——AI堆栈分配错误、栈溢出BUG
c语言·人工智能·stm32·mcu·学习·bug
AI多Agent协作实战派4 天前
AI多Agent协作系统实战(十七):凌晨4点,我的AI系统在“假装工作“——3个bug同时爆炸的5小时
java·前端·bug
尸僵打怪兽4 天前
Claude-code命令行无法下载插件
bug·插件·claude-code
Liu.7745 天前
uni-app 组件 uni-easyinput 常见 Bug 及解决方案
uni-app·bug
QQ骞7 天前
【bug的管理流程深入浅出】
软件测试·bug
Rambo.xia7 天前
AXI跨时钟域与数据一致性——CDC FIFO深度不够、写后读冒险、多Master仲裁、乱序返回,出了Bug根本查不出来
fpga开发·bug
不知名的老吴8 天前
思考:要做到Bug Free需培养怎样的思维?
bug
河南花仙子科技10 天前
小游戏开发中常见的BUG类型及成因
人工智能·科技·游戏·bug