C语言函数的定义和声明。

函数的定义:
函数的定义就是函数体的实现。函数体就是一个代码块,它在函数被调用时执行,与函数定义相反的是,函数声明出现在函数被调用的地方。函数声明向编译器提供该函数的相关信息,用于确保函数被正确的调用。

那么函数到底是如何定义的呢?请看下面的语法:

类型
函数名(形式参数)
代码块

最简单的
function_name()
{
}
,它简单的返回。
形式参数列表包括变量名和它们的类型声明。
代码块包含了局部变量的声明和函数调用时需要执行的语句。

return 语句:

如果一个函数无需向调用函数返回一个值,它就被省略。这类函数在绝大多数其他语言中被称为过程(procedure)。这些函数执行到函数体末尾时隐式返回,他们没有返回值。 这种没有返回值的函数在声明时应该把函数的类型声明为void。
真函数是从表达式内部调用的,它必须返回一个值,用于表达式的求值。这类函数的return 语句必须包含一个表达式。
通常,表达式的类型就是函数声明返回的类型。只有当编译器可以通过寻常算术转换把表达式的类型转换为正确的类型时,才允许返回类型与函数声明的返回类型不同的表达式。

有些程序员喜欢把return 语句写成下面这个样子:
return(x);
语法并没有要求你加上括号,因人而异,表达式两端加上括号总是合法的。
在C中,子程序不论是否存在返回值,均被称为函数。调用一个真函数(即返回一个值的函数)但不在任何表达式中使用这个返回值是完全可能的。在这种情况下,返回值就被丢弃。

注意:

1:返回值类型必须和return后面的类型相同
2:return单独存在的时候,后面不可以写任何语句,因为执行不到
3:函数可以没有返回值,当return后面没有任何返回值的时候,返回值类型就写void,代表着没有返回值
当函数没有返回值的时候,函数后面的return可以省略不写
4:c语言中函数可以不写返回值类型,但是如果没有写返回值类型,系统会默认返回值类型为int
同时,写了返回值类型也可以没有返回值
5:函数不能嵌套、重复定义

函数声明:

当编译器遇到一个函数调用时,它产生代码传递参数并调用这个函数,而且接收该函数返回的值(如果有的话)
声明函数的目的,是告诉编译器函数的名称 形参以及返回值。
int getMin(int v1, int v2);
函数的声明 可以省略形参名称
int getMin(int, int);
函数的声明可以相同
int getMin(int, int);

使用函数前,需要在main函数前对使用的函数进行声明  
#include<stdio.h>  
int getMax(intint);  
  
void main() {  
    int t=getMax(1221);  
    printf("%d\n", t);  
    getchar();  
}  
  
int getMax(int a, int b) {  
    if (a > b) {  
        return a;  
    }  
    else {  
        return b;  
    }  
}  
或者将函数定义在main函数的前面,则不需要声明
#include<stdio.h>  
  
int getMax(int a, int b) {  
    if (a > b) {  
        return a;  
    }  
    else {  
        return b;  
    }  
}  
void main() {  
    int t=getMax(1221);  
    printf("%d\n", t);  
    getchar();  
}  
    原文作者:main--
    原文地址: https://blog.csdn.net/qq_41420688/article/details/80330299
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞