这种定义是什么意思?

leaway211 2006-04-10 07:24:01
struct mbuf *
m_retry(i, t)
int i, t;
{
register struct mbuf *m;

m_reclaim();
#define m_retry(i, t) (struct mbuf *)0
MGET(m, i, t);
#undef m_retry
return (m);
}


这种定义是什么意思struct mbuf *
m_retry(i, t)
int i, t;
{}

既然m_retry是一个定义的函数,但是i,t怎么不申明类型,而后面又声明int i,j,并且还用;隔开后面的实现部分。哪位好心人给解释一下呀
...全文
150 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jixingzhong 2006-04-10
  • 打赏
  • 举报
回复
这个是 古老的 K&R 格式 ...

用新的方式就是:
struct mbuf *m_retry(int i, int t)

建议使用新的方式,
旧的方式不容易阅读,
而且有些环境已经不支持这种定义了 ...
ares0906 2006-04-10
  • 打赏
  • 举报
回复
哎,看来我们生不逢时啊,很多东西都没学到。
Acoolice 2006-04-10
  • 打赏
  • 举报
回复
学习了
hanyiao 2006-04-10
  • 打赏
  • 举报
回复
老式的,现在很少用了
YFY 2006-04-10
  • 打赏
  • 举报
回复
同如下意思:

struct mbuf *m_retry(int i, int t)
{
register struct mbuf *m;

m_reclaim();
#define m_retry(i, t) (struct mbuf *)0
MGET(m, i, t);
#undef m_retry
return (m);
}

返回值为结构体指针的一个函数而已,现在已经几乎没有使用的了。
zez 2006-04-10
  • 打赏
  • 举报
回复
呵呵,这是老辈子的C语言格式

新人都不懂...:(
zhousqy 2006-04-10
  • 打赏
  • 举报
回复
老式参数声明

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧