本文介绍了为什么FUNC()之间被放置声明{}?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在SED源只见常
FUNC(...)
INT B:
焦炭℃;{
...
}
为什么把变量存在?它是否在改变范围有多大?
喜欢这里:的
re_string_allocate(PSTR,STR,LEN,init_len,反,ICASE,DFA)
51 re_string_t * PSTR;
52为const char * str中;
53 INT LEN,init_len,ICASE;
54 RE_TRANSLATE_TYPE跨;
55常量re_dfa_t * DFA;
56 {
57 reg_err code_T RET;
58 INT init_buf_len;
59
解决方案
这只是旧样式,与类型参数函数声明的整个概念是没有出台,直到后来pre-ANSI C的!
In sed source I saw often
func(...)
int b;
char c;
{
...
}
Why put variables there? Does it change the scope?
Like here: http://www.mirrors.docunext.com/lxr/http/source/src/bin/sed/lib/regex_internal.c?v=haiku
re_string_allocate (pstr, str, len, init_len, trans, icase, dfa)
51 re_string_t *pstr;
52 const char *str;
53 int len, init_len, icase;
54 RE_TRANSLATE_TYPE trans;
55 const re_dfa_t *dfa;
56 {
57 reg_errcode_t ret;
58 int init_buf_len;
59
解决方案
That's just old style, pre-ANSI C. The whole notion of function declarations with type parameters wasn't introduced until later!
这篇关于为什么FUNC()之间被放置声明{}?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!