Skip to content

函数

函数定义

函数式编程是C语言开发者必须学会的要点。我们已经知道所有C语言程序的入口都是一个main函数,现在让我们回顾前面的那个C语言程序:

c
#include <stdio.h>

int main()
{
    /* 我的第一个 C 程序 */
    printf("Hello, World! \n");
 
    return 0;
}

无形参

我们通过int main() {...}的方式定义了main函数。

  • 第一个int是函数的返回值,表明main函数会在结束时返回一个整形变量。
  • main是函数的名称。
  • ()中的是函数的形参。如果函数无需传参(例如main函数),可以留空,但建议写void表示不传参。
  • {}中的代码是函数体。

在继续之前,我们首先声明两点,除源代码文件顶部的头文件引入部分之外

  1. C语言对换行和空格是不敏感的
  2. C语言对半角分号;敏感

这意味着以下三段代码在运行时层面上是等价的:

c
#include <stdio.h>

int main(void)
{
    printf("Hello, World! \n");
 
    return 0;
}
c
#include <stdio.h>

int main(void){printf("Hello, World! \n");return 0;}
c
#include <stdio.h>

int main     (void )
{

                    printf("Hello, World! \n");
 
    return 0;
}

有形参

main函数可以没有形参,也可以有形参。你也可以自己定义另外的有形参的函数,比如定义一个整形加法函数:

c
int cal_add(const int a, const int b) {
    const int result = a + b;
    printf("执行加法计算:%d + %d = %d\n", a, b, result);
    return result;
};

同样,int cal_add(...) {...}的形式,最左边的int是返回类型,cal_add是函数名,(...)中的是形参,{...}中的是函数体。

在形参中我们定义了ab两个形参,在它们之前的int是参数类型,即cal_add需要两个整形类型的传入值。const关键字修饰ab,表明在函数体中,ab的值不应该发生改变。

main函数的形参?

main函数的形参表示程序运行时接收的命令行参数,在此不深度涉及。

贡献者

页面历史