关键词搜索

源码搜索 ×
×

老版本中C语言函数居然是这样定义的

发布2012-12-14浏览8996次

详情内容

       看x264程序中的getopt_long函数(.c文件,而非.cpp文件),看着看着,突然看到一个十分怪异的函数定义形式,查资料后才知道原来是老版本中C语言函数定义的形式. 为了简便说明,本人写个简单的示例,如下:

  1. #include <stdio.h>
  2. int add(x, y)
  3. int x, y;
  4. {
  5. return x + y;
  6. }
  7. int main()
  8. {
  9. int a = 2;
  10. int b = 3;
  11. int c = add(a, b);
  12. printf("%d\n", c);
  13. return 0;
  14. }


     上面的程序在VC6.0的.cpp文件中有错误,但在.c文件中可以正常. 所以,上面这种形式最好废止,自己写函数时,不要写这样的,要按照新的标准来. 但如果别人这样写了,要认识.

    

     上述程序改为:

  1. #include <stdio.h>
  2. int add(int x, int y)
  3. {
  4. return x + y;
  5. }
  6. int main()
  7. {
  8. int a = 2;
  9. int b = 3;
  10. int c = add(a, b);
  11. printf("%d\n", c);
  12. return 0;
  13. }

 

        最后说一句:在VC6.0中,.c文件支持老式和新式的函数定义,但.cpp文件只支持新式的函数定义. 所以,自己写函数,务必用新式的,与时俱进嘛.

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载