奇怪的C语法是什么?

Kev*_*oyd 5 c syntax

可能重复:
定义中的函数标题之后的C变量声明
这个C语法有用吗?

我试图理解一些C代码并遇到了这个函数的头部和第一个支撑之间声明变量的地方.

知道这些变量是什么吗?
他们是本地的还是全球的?

作者打算在这做什么?

void someFunction (m_ptr, n_ptr, params, err)
            integer  *m_ptr;        /* pointer to number of points to fit */
            integer  *n_ptr;        /* pointer to number of parameters */
            doublereal *params;     /* vector of parameters */
            doublereal *err;        /* vector of error from data */
        {
            //some variables declared here
            int       i;
            ...
            ...

            //body of the function here

        }
Run Code Online (Sandbox Code Playgroud)

ter*_*nus 7

它们是函数参数.这是声明它们的另一种方法.它们的工作方式与普通参数相同.

对于一个相当长但非常有用的解释,请参阅函数声明与原型的替代(K&R)C语法

  • @Kevin Boyd:“doublereal”几乎肯定只是“double”的类型定义。这是一种 Fortran 主义,您经常在从 Fortran 转换而来的 C 代码中看到它。“整数”也是如此。 (2认同)