C语言自学完备手册(15)——函数(1)
发布日期:2021-06-30 11:19:38 浏览次数:3 分类:技术文章

本文共 1485 字,大约阅读时间需要 4 分钟。




版权声明

  • 本文原创作者:
  • 作者博客地址:

之前我们都是在main( )函数中写写代码,并且调用一些系统自带函数;例如:printf(),puts(),scanf()等等,它们也被称为库函数。从本小结开始介绍自定义函数。换言之,我们要开始写自己的函数了。

函数的定义

语法概述:

返回值类型 函数名 (类型1 参数1,类型2 参数2,……..){

    函数体
}

示例如下:

int max(int a,int b){    if(a>b){        return a;    }else{        return b;    }}

假若函数没有返回值,则在定义函数时用void表示其返回值;同理,假若该函数没有输入参数,则在定义函数时用void表示其输入参数,例如:

void printMessage(void){    puts("hello");}

此处定义的函数printMessage( )既没有输入参数、也没有返回值。


函数的原型声明

我们常见的写法是:函数定义在main( )函数之前,然后在main( )函数中调用。如果函数定义在main( )函数之后,并想在main( )函数中调用,那么此时就需要对函数进行原型声明。

语法概述:

返回值类型 函数名 (类型1 参数1,类型2 参数2,……..);

示例如下:

#include 
#include
void printMessage(void);int main(){ printMessage(); return 0;}void printMessage(void){ puts("hello");}

在本示例中,通过第三行的代码,即void printMessage(void);对函数进行原型声明。假若去掉这行代码,那么开发工具报警告:implicit declaration of function ‘printMessage’


头文件和文件包含指令

通过函数原型声明,可以告知编译器:函数的名称,输入参数,返回值等等信息,这样就可以放心地调用该函数了。

我们平常用的库函数printf( )、puts( )等的函数原型声明都包含在了<stdio.h>中,因此必须要使用include指令导入所需的头文件(.h),即:

#include 

通过该指令可以把<stdio.h>中的全部内容读取到程序中。


练习

求出整数x的n次幂,代码如下:

#include 
#include
int power(int x,int n);int main(){ int result=power(3,4); printf("计算结果是:%d",result); return 0;}int power(int x,int n){ int result=1; while(n>=1){ result=x*result; n--; } return result;}

值传递

在C语言中,函数间参数的传递是通过值传递进行的。

例如,在刚才的示例中x和n是形参;3和4是实参;我们可以形象的理解为:形参x是实参3的副本,形参n是实参4的副本;形参和实参间相互独立,互不影响。这点类似于日常生活中的原件和复印件的关系:在复印件上写写画画不会更改原件,反之亦然。

那么,Java中是传值还是传引用呢?可以参见我的另外一篇博客——。

转载地址:https://it9527.blog.csdn.net/article/details/81044809 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C语言自学完备手册(16)——函数(2)
下一篇:C语言自学完备手册(14)——数组

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月21日 15时33分56秒