这些C函数签名与我习惯看到的不一样。守则如下:
struct msg {
char data[20];
};
struct pkt {
int seqnum;
int acknum;
int checksum;
char payload[20];
};
/**Now LOOK AT THESE FUNCTIONS**/
A_output(message)
struct msg message;
{
// blah blah blah
}
B_output(message)
struct msg message;
{
// blah blah blah
}
A_input(packet)
struct pkt packet;
{
// blah blah blah
}我知道C函数工作的方式是return-value name(parameter/s)。这个看起来不一样。以上函数采用什么参数?返回类型是什么?这些功能是如何工作的?
发布于 2017-10-12 23:43:45
这些定义是函数定义的形式,括号中有一个标识符列表,后面跟着一个声明列表。省略的返回类型意味着等于int。现在,C标准不允许省略返回类型。
所以这个函数定义
A_output(message)
struct msg message;
{
// blah blah blah
}对应于以下定义
int A_output( struct msg message)
{
// blah blah blah
}https://stackoverflow.com/questions/46720422
复制相似问题