`
googya
  • 浏览: 140300 次
  • 性别: Icon_minigender_1
  • 来自: 汉川
社区版块
存档分类
最新评论

令我迷惑的c语言参数格式

    博客分类:
  • c
 
阅读更多
        之前看ruby hacking guide的时候,经常看到c文件中出现很奇怪的写法,当时是感觉可能自己的c水平有限,看不懂其中的原理,故而没有继续看下去。今天又看到了类似的写法,突然有一种冲动,一定要把它弄懂。结果,其实很简单。。。。
   
之前看到这样的代码,我一直很纳闷,为什么这样写:
VALUE
rb_str_new(ptr, len)
    const char *ptr;
    long len;
{
    return str_new(rb_cString, ptr, len);
}



 
        这种写法是正确的么,为什么参数的类型可以写在函数的外边?
是我少见多怪了,今天写了一段类似的代码,结果是能正常运行的,当然用的gcc编译的,在vc上会报错(应该是可以设置的,但是我还不知道怎么弄)。

#include<stdio.h>
int add(int,int);
int main(){
    printf("%d",add(3,4));
    return 0;
}
int add(a,b)
int a;
int b;
{
    return a+b;
}


        返回的结果是:


        现在终于解开了我心中的疑惑。当然还有很多东西需要挖掘
  • 大小: 14 KB
分享到:
评论
3 楼 jinleileiking 2011-08-24  
我绝不会这么写。呵呵
2 楼 googya 2011-08-24  
jinleileiking 写道
说的啥?

那种写法是老C标准,现在不这么搞了

的确是这样的,很古老的写法。不过我觉得这样的写法也很可爱。。。如果你搞懂了它
1 楼 jinleileiking 2011-08-22  
说的啥?

那种写法是老C标准,现在不这么搞了

相关推荐

Global site tag (gtag.js) - Google Analytics