函数参数放置在C中

时间:2017-02-17 10:43:54

标签: c function syntax function-definition

我在程序中使用SDBM哈希函数,并对函数定义有疑问,转载如下:

unsigned char *

我通过反复试验理解该函数期望static unsigned long sdbm(unsigned char *str) { .... } ,但为什么要将它放在括号之后和大括号之前?我不知道这是一个选项,我找不到任何东西告诉我为什么它不是这样写的:

# 38 data frames all named ExperimentX, with X 1:38
for(i in 1:38) {
  nextDataFrame <- paste0("Experiment",i)
  Collection$paste0("Experiment",i) <- nextDataFrame
}

当然,如果我将它修改为这样,那么该功能似乎仍能很好地工作,那么为什么呢?有什么区别?

1 个答案:

答案 0 :(得分:3)

这是K&R method of function definition,没有错,但已经过时了。这是ISO前时代的功能定义方式。

从技术上讲,

static unsigned long
sdbm(str)
unsigned char *str;
{

完全相同
static unsigned long sdbm ( unsigned char *str ) {