English 中文(简体)
C中这种奇怪的职能定义是什么? [复制]
原标题:What is this strange function definition syntax in C? [duplicate]

我看到了一些职能定义,如最近与德国驻博恩集团一起玩 的:

static VALUE
ripper_pos(self)
    VALUE self;
{
    //code here
}

为什么在括号外的<代码>本身? 这是否有效?

最佳回答

这些是旧的K& 1. 宣布参数类型为:

int func(a, b, c)
   int a;
   int b;
   int c;
{
  return a + b + c;
}

这与宣布职能参数的较现代方式相同:

int func(int a, int b, int c)
{
  return a + b + c;
}

“新风格”声明基本上得到普遍赞同。

问题回答

这是所谓的“旧”声明功能论点的变式。 如果是老的,你可以在母体内提出书面论点,但是,在封闭的母体之后,你必须就每一论点加以界定。

换言之,它相当于<代码>ripper_pos(>)。 页: 1

是的,它采用一种老式的功能定义,在母体内列出参数、种类,然后在功能机构开张之前申报这些变量的类型。 www.un.org/Depts/DGACM/index_french.htm

页: 1 c. K&R C在ANSI C执行分类参数之前使用该公约。

static VALUE  // A static function that returns  VALUE  type.
ripper_pos(self)  // Function  ripper_pos  takes a parameter named  self .
    VALUE self;   // The  self  parameter is of type  VALUE .




相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...