Ykt*_*ula 2 c variables freebsd c99 c89
在阅读一些FreeBSD源代码时(参见:radix.h第158-173行),我在定义中找到了"函数标题"之后的变量声明.
这在ISO C(C99)中有效吗?什么时候应该在生产代码中完成而不是仅仅在"函数标题"中声明变量?为什么要在这里完成?
我指的是标题字符串的函数,如下所示: int someFunction(int i, int b) {
我认为你指的是在C语言中声明参数的"老式"前ANSI方式.它看起来像这样:
int foo(a, b)
int a,
int b
{
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
这可能在C99中仍然有效,并且由于向后兼容性原因而被编译器接受,但它应被视为已弃用/过时.