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 天前
如何快速解决程序中的BUG
bug
Everglowwwwww2 天前
【bug】通过lora方式微调sdxl inpainting踩坑
学习·计算机视觉·ai作画·stable diffusion·bug
数据最前线2 天前
创建索引遇到这个Bug,19c中还没有修复
oracle·bug
CV金科2 天前
蓝桥杯-STM32G431RBT6(UART解析字符串sscanf和解决串口BUG)
c语言·stm32·单片机·嵌入式硬件·mcu·算法·bug
DisonTangor2 天前
网传阿里云盘出现bug,可看到其他用户云盘图片
阿里云·bug
后端小张2 天前
System.out源码解读——err 和 out 一起用导致的顺序异常Bug
java·开发语言·jdk·bug
我又来搬代码了2 天前
【Android】【Bug】Activity全屏(保留底部按钮)被打断变成非全屏了
android·bug
__water2 天前
『功能项目』调整Boss技能bug【51】
c#·bug·unity引擎
johnny2333 天前
《Effective Debugging:软件和系统调试的66个有效方法》读书笔记-Part2
bug
曲大家4 天前
Java和西门子S7-1200通讯调试记录
bug