我得到了一个包含几个声明如下的函数的大型C文件:
void function_a(void);
Run Code Online (Sandbox Code Playgroud)
这些函数写在主程序之上:
static void function_a(void) { .... }
Run Code Online (Sandbox Code Playgroud)
在主程序中,这些函数称为:
function_a();
Run Code Online (Sandbox Code Playgroud)
现在据我所知,声明为上面写的函数既不使用参数也不使用返回值.但是,在这些函数中,使用了变量和数组,这些变量和数组未在这些函数中定义,而是仅在主程序中定义.
这是非常正确的C语法吗?如果没有作为参数移交,那么函数如何从主程序访问数据?
此外,主程序使用变量,这些变量在它调用的函数中计算.