本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!