首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主(ac,av) int ac;char **av;{.}?

主(ac,av) int ac;char **av;{.}?
EN

Stack Overflow用户
提问于 2012-06-03 13:04:28
回答 1查看 1.1K关注 0票数 3

可能重复: C中有多少种类型的写作函数?

我看到一个用C语言编写的程序,它的main定义如下

代码语言:javascript
复制
main(ac, av) int ac; char **av;
{
    ...
}

而不是

代码语言:javascript
复制
int main(int argc, char **argc)
{
    ...
}

我从未见过像第一段代码那样的C语法。它是什么,我在哪里可以读到它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-03 13:05:30

第一种是在函数原型成为通用/标准代码之前的一种老式的、预先的ANSI、C函数头。

常见的格式如下:

代码语言:javascript
复制
main(ac, av) 
int ac; 
char **av;
{
    ...
}

在最初的一组括号之后,您看到的是main中参数的类型声明。还要注意,没有声明int返回类型。

没有人真的写这样的代码,坚持第二种形式。

如果您能够挖掘出Kernighan和Ritchie的原始白皮书 (第一次编辑,预ANSI),您将看到该表单(并且@dirkgently正确地提到它有时被称为K&R样式C),就像您在其他老C书中所做的那样。

如果您对功能声明和定义的过时形式感兴趣,也可以查看此链接。在google中搜索“旧风格C函数声明”将带来一些点击量。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10870574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档