老版本中C语言函数居然是这样定义的
2012-12-14 18:17
519 查看
看x264程序中的getopt_long函数(.c文件,而非.cpp文件),看着看着,突然看到一个十分怪异的函数定义形式,查资料后才知道原来是老版本中C语言函数定义的形式. 为了简便说明,本人写个简单的示例,如下:
上面的程序在VC6.0的.cpp文件中有错误,但在.c文件中可以正常. 所以,上面这种形式最好废止,自己写函数时,不要写这样的,要按照新的标准来. 但如果别人这样写了,要认识.
上述程序改为:
最后说一句:在VC6.0中,.c文件支持老式和新式的函数定义,但.cpp文件只支持新式的函数定义. 所以,自己写函数,务必用新式的,与时俱进嘛.
#include <stdio.h> int add(x, y) int x, y; { return x + y; } int main() { int a = 2; int b = 3; int c = add(a, b); printf("%d\n", c); return 0; }
上面的程序在VC6.0的.cpp文件中有错误,但在.c文件中可以正常. 所以,上面这种形式最好废止,自己写函数时,不要写这样的,要按照新的标准来. 但如果别人这样写了,要认识.
上述程序改为:
#include <stdio.h> int add(int x, int y) { return x + y; } int main() { int a = 2; int b = 3; int c = add(a, b); printf("%d\n", c); return 0; }
最后说一句:在VC6.0中,.c文件支持老式和新式的函数定义,但.cpp文件只支持新式的函数定义. 所以,自己写函数,务必用新式的,与时俱进嘛.
相关文章推荐
- VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的
- activiti获取最新版本流程定义列表
- 文件描述居然在版本信息下
- 初始化的顺序:和定义的顺序以及初始化函数都有关系。都要先定义的在前,后定义的在后。甚至连类的顺序都必须这样。
- android定义新的api解决一些低版本不能运行的问题
- 定义一个 k 函数,这样写正确吗?
- 居然还有这样使用的auto
- 网易面试题之小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11. 现在给出一个N,需要求
- char *p="1234567890",这样的定义有问题吗?
- 转:VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
- Windows版本宏的定义引起的编译错误
- 想不到c++调用操作符运算居然也可以这样
- 关于水波纹的添加已经定义颜色以及低版本兼容
- VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
- 想不到,我们的村干部居然能这样挨家挨户
- 用相对路径有时居然是这样,,加上<%=basePath%>
- DELPHI和BCB的版本定义宏全集 VER130 VER140 VER145 VER150
- C语言函数的定义和使用(2)
- 软件版本定义规则
- 飛field(八十四)当基类同名成员函数定义为纯虚函数后,发生了什么现象?为什么会这样?