57.C语言 函数声明和定义

最后更新于:2020-09-08 21:08:24

一.简介

C语言中的函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。

将代码段封装成函数的过程叫做函数定义。

dataType  functionName(){
    //body
}

dataType 是返回值类型,它可以是C语言中的任意数据类型,例如: intfloatchar 等。

functionName 是函数名,它是标识符的一种,命名规则和标识符相同。函数名后面的括号( )不能少。

body 是函数体,它是函数需要执行的代码,是函数的主体部分。即使只有一个语句,函数体也要由{ }包围。

如果有返回值,在函数体中使用 return 语句返回。return 出来的数据的类型要和 dataType 一样。

二.函数返回值

1.函数没有返回值

如果函数没有返回值,函数名前面用void修饰,例如:

void func(); //声明一个函数,该函数没有返回值

2.函数有返回值

如果函数有返回值,函数名前面用返回值类型,可以用int/float/double/char等等修饰,例如:

int func1();    //声明一个函数,该函数返回值是整数int类型
float func2();  //声明一个函数,该函数返回值是浮点数float类型
double func3(); //声明一个函数,该函数返回值是浮点数double类型
char func4();   //声明一个函数,该函数返回值是字符char类型

三.函数参数

1.函数没有参数

函数没有参数,就表示没有参数列表,例如:

int func1();    //声明一个函数,该函数返回值是整数int类型
float func2();  //声明一个函数,该函数返回值是浮点数float类型

2.函数有固定参数

dataType  functionName( dataType1 param1, dataType2 param2 ... ){
    //body
}

dataType1 param1, dataType2 param2 ...是参数列表。函数可以只有一个参数,也可以有多个,多个参数之间由,分隔。参数本质上也是变量,定义时要指明类型和名称。与无参函数的定义相比,有参函数的定义仅仅是多了一个参数列表,例如:

int func1(int x);    //声明一个函数,该函数返回值是整数int类型
float func2(int x,int y);  //声明一个函数,该函数返回值是浮点数float类型

3.函数有不定长度参数

函数的不定长参数,指函数的参数个数不固定,可以是两个,也可以是三个或者更多,例如最常见的printf函数:

printf("%s","hello world");
printf("%d-%d-%d",1,2,3);

关于函数的不定长参数,这里暂时不做讲解,后面文章再做详细介绍;

四.函数声明和定义

函数声明只是一个空壳,不会有具体的函数实现,而定义要实现函数的实现;

1.函数声明:不需要实现这个函数的功能

int add(int x,int y); //只需要声明即可,不需要实现这个函数的功能

2.函数定义:必须实现这个函数的功能

int add(int x,int y) ////需要实现这个函数的功能
{
    return (x+y);
}


猜你喜欢

1. 指针和数组区别

2. 指针数组

3. NaN(Not a Number)

4. memcpy/strcpy/strcpy_s 区别

5. unicode 和多字节区别

6. 数组定义和使用

7. sizeof和strlen函数区别

8. Debug和_DEBUG区别

9. _WIN32/WIN32/_WIN64/WIN64区别

10. 判断exe可执行程序是32位的还是64位

11. 数组下标越界

12. 数组内存溢出

13. 数组下标越界和内存溢出区别

14. 二维数组行数和列数计算

15. 指针声明和定义

16. 指针p++/p-–



转载请注明: 猿说编程 » C/C++教程 » 函数声明和调用

赞赏

微信赞赏支付宝赞赏