一、基本结论
文件作用域的初始化过程使用的元素必须是常量,下面用变量加以运算编译就会报错
若包含其他任意动作,计算或者通信,统统不允许在文件作用域中,要放在函数里面
以下我在初始化过程中使用了变量进行计算,这是不允许的:
我把它改到函数里面就可以了:
二、常见易混淆知识点:认为数组定义只能用常量
在文件作用域下这个结论的确没错:
但是,在函数作用域下,数组定义时的下标也可以用变量的:
三、函数调用是运算动作,必须在函数作用域里面,因此对于函数调用来说,不存在上述问题,其形参当然一定可以用变量赋值