关于程序在keilC51下报一堆error C141: syntax error near '[' ,而其他编译器通过的一个可能原因

写了一个冒泡排序,在vc等编译器下没问题,在keilC51上就疯狂报错
除了少括号等基础原因外,还有一个可能是

和C51的关键词重名了

比如我使用的这个data,是关于程序在keilC51下报一堆error C141: syntax error near '[' ,而其他编译器通过的一个可能原因
而我定义了一个名为data的数组,导致如下一堆error结果:
关于程序在keilC51下报一堆error C141: syntax error near '[' ,而其他编译器通过的一个可能原因

解决方法就是给数组换一个变量名即可

这里截图就是为了展示杀千刀的keil关键词加粗的不明显,导致我刚开始没看出来…………
谨以此篇纪念我浪费的2个小时QAQ


附上一些C51的关键词:

  • 存储器类型
    关于程序在keilC51下报一堆error C141: syntax error near '[' ,而其他编译器通过的一个可能原因
    定义变量时可以省略存储器类型,C51将按编译模式默认存储器类型
  • 基本数据类型

关于程序在keilC51下报一堆error C141: syntax error near '[' ,而其他编译器通过的一个可能原因

  • 存储种类
    C51变量的存储种类有四种,分别是自动(auto)、外部(extern)、静态(static)和寄存器(register)
  • 特殊功能寄存器变量sfr
  • 位变量bit

其实其他都还好,这个data是真的其他语言用惯了……