C语言 函数声明和定义

ChatGPT 3.5 国内中文镜像站免费使用啦

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门


一.简介

C 语言中的函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的参数,也可以不接收;将代码段封装成函数的过程叫做函数定义。

/*
dataType 是返回值类型,它可以是C语言中的任意数据类型,例如: int、float、char 等。

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

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

*/

dataType  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. C语言逻辑运算符
  2. C语言三目运算符
  3. C语言逗号表达式
  4. C语言 sizeof 和 strlen 函数区别
  5. C语言 strcpy 和 strcpy_s 函数区别
  6. C语言 memcpy 和 memcpy_s 区别
  7. C语言 数组定义和使用
  8. C语言 数组遍历
  9. C语言 数组下标越界
  10. C语言 数组内存溢出
  11. C语言 数组下标越界和内存溢出区别
  12. C语言 二维数组定义和使用
  13. C语言 二维数组行数和列数计算
  14. C语言 指针声明和定义
  15. C语言 指针 p++ / p–
  16. C语言 p++/(p)++/(p++)/p++
  17. C语言 使用指针遍历数组
  18. C语言 指针和数组区别
  19. C语言 数组指针
  20. C语言 指针数组
  21. C语言 指针数组和数组指针区别
  22. C语言 空指针 NULL
  23. C语言 void 指针
  24. C语言 野指针
  25. C语言 函数声明和定义

ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
THE END
喜欢就支持一下吧
点赞2 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容