【笔记】C语言的函数

前言

C语言的函数

函数的定义

  • 如果没有返回值,则返回值类型为void
  • 如果没有参数,参数列表为空
  • 定义函数时使用行參,调用函数时使用实参
1
2
3
4
5
返回值类型 函数名(参数列表)
{
...
return 返回值;
}

函数的声明

  • 只声明函数,而不定义实际内容
1
返回值类型 函数名(参数列表);

函数的调用

  • 在调用函数之前必须定义活着声明函数
    • 如果是直接定义的函数,则需要放在调用函数之前
    • 如果是声明函数后再定义的函数,声明函数需要在调用函数之前,定义函数可以放在调用函数之前,也可以放在调用函数之后
1
函数名(参数列表);

函数的错误

  • 函数编写时的错误,虽然编译能通过,但是不推荐这样写,因为这样属于语法错误

如果没有返回值

  • 如果没有使用return关键字指定返回值,则实际返回值是随机的,根据操作系统决定
1
2
3
4
int 函数名()
{
...
}

如果没有返回值类型

  • 如果没有写返回值类型,则实际默认的返回值类型为int类型
1
2
3
4
5
函数名()
{
...
return 0;
}

如果没有定义参数列表

  • 如果定义函数时,没有定义参数列表,则实际表示这个函数可以有参数列表,也可以没有参数列表
1
2
3
4
5
6
7
8
int 函数名();


int 函数名(参数列表)
{
...
return 0;
}

如果没有传递参数

  • 如果在调用一个有參的函数时,没有传递参数,此时会导致数据混乱
1
2
3
4
5
6
7
8
9
10
11
12
13
int 函数名();

int main()
{
函数名();
return 0;
}

int 函数名(参数列表)
{
...
return 0;
}

明确的传参

  • 明确的告诉C语言,这是一个无參的函数
1
2
3
4
5
int 函数名(void)
{
...
return 0;
}
  • 在C++语言中,int 函数名(void)int 函数名()是一样的
  • 在C语言中,int 函数名(void)int 函数名()是不一样的
    • int 函数名(void):明确的告诉C语言这是一个无参的函数
    • int 函数名():C语言认为这是一个不确定参数列表的函数,有可能是无参的,也有可能是有参的

完成