c - C中的特殊参数声明函数

标签 c parameters glibc

<分区>

Possible Duplicates:
C function syntax, parameter types declared after parameter list
What is useful about this C syntax?
Why are declarations put between func() and {}?

大家好,

我下载了 glibc。我想重用这个库中的一些代码部分,但是这段代码有些奇怪。事实上,参数声明很奇怪。 que parantheses 之后声明的参数类型。我以前从没见过。这种宣告是什么?我无法编译它。

void
_ufc_doit_r(itr, __data, res)
     ufc_long itr, *res;
     struct crypt_data * __restrict __data;
{
/*CODE HERE */
}

最佳答案

这被称为“K&R”风格,来自 Kernighan 和 Ritchie,他们写了这本书 The C Programming Language .在那本书的第一版中,以上是声明参数类型的唯一方式。我相信第二版使用标准样式,类型和名称都在括号内:

void
_ufc_doit_r(ufc_long itr,
            struct crypt_data * __restrict __data,
            ufc_long *res)
{
/*CODE HERE */
}

K&R 风格是一种非常古老的参数声明风格,但有些人仍在使用它,以便他们的代码可以在非常古老的编译器上编译。

关于c - C中的特殊参数声明函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5607858/

相关文章:

c - 使用链表在 C 中进行函数式编程

flutter - Dart 中命名参数和位置参数有什么区别?

c# - 在 serilog 中使用 C# 参数

C 程序链接到错误版本的函数

c++ - <iterator> 引入的 sys/sysmacros.h 中定义的主要和次要宏

linux - 如何手动修复 ld-linux.so.2 错误

c - 你好,编程和 C 语言新手,两周后,我的代码中有错误吗?

c - OpenCL - 执行归约的方法

c++ - 如何连续运行该计时器任务?

MYSQL 存储过程不更新列