`
googya
  • 浏览: 145106 次
  • 性别: 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标准,现在不这么搞了

相关推荐

    C语言常见错误提示

    例如,参数列表的格式错误或参数个数错误都会导致这种错误。 4. Array bounds missing 丢失数组界限符 在C语言中,数组的界限符可能会导致语法错误。例如,数组的下标越界或数组的长度错误都会导致这种错误。 5. ...

    c语言学习关键字的书写

    宏定义的格式通常是由`#define`开始,后接宏名,如果宏需要参数,可以在宏名后加括号包含参数列表。宏定义不以分号结束。例如: ```c #define PI 3.14159 #define SQUARE(x) ((x)*(x)) ``` 使用宏时,预处理器会...

    C语言期末考试题四套卷

    同时,通过对比不同套卷的题目,可以发现考试的重点和常见陷阱,比如可能会反复考察某个知识点,或者设置迷惑选项来测试对概念的深入理解。 综上所述,C语言期末考试题的复习不仅需要扎实掌握基础知识,还需要通过...

    二计算机等级考试二级C语言常见知识点总结.pdf

    迷惑你的地方If 是可以做为用户标识符,因为If 中的第一个字母大写了,所以不是关键字。 实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。考试口诀:e 前e 后必有数,e 后必为整数。 字符数据的...

    4_1_2模拟文件系统1

    在计算机系统中,文件系统是管理数据存储的...即使面对看似复杂的题目,也不要被表面的难度所迷惑,因为有时可能只是题目的表述或示例代码存在错误。因此,深入理解每一个概念,相信自己的能力,是解决此类问题的关键。

Global site tag (gtag.js) - Google Analytics