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

相关推荐
放风铃的兔子1 小时前
我把 5 个 Python bug 投进 CubeSandbox 当沙盘 —— 从 envd 协议反编译到一键 RED→GREEN
bug·issue
zh_xuan6 小时前
诡异Bug:输入框删除字符,却越删越多
android·bug
绘梨衣5471 天前
采集基类设计遇到的描述符bug
爬虫·python·bug
不吃鱼的羊1 天前
达芬奇工具Bug
bug
油炸自行车1 天前
【bug】Qt 6 Q_NAMESPACE 跨 DLL 链接错误:LNK2019 无法解析 staticMetaObject
数据库·c++·qt·bug·link2019·q_namespace_exp·namespaceexport
sxd20012 天前
Debian #1135514 bug引发的思考
网络·debian·bug
疏狂难除4 天前
X86-64 Assembly中printf 打印 float 和 double的bug的解决
bug·assembly
nashane5 天前
HarmonyOS 6学习:指南针“文图反向”Bug修复——从“北偏东”变“北偏西”的坐标系纠错
学习·华为·bug·harmonyos
雨季mo浅忆5 天前
记录Vue3项目中的各类问题
前端·bug·vue3
hust_a6 天前
利用AI定位BUG的体验
bug