A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hailiqh 中级黑马   /  2015-9-25 16:44  /  803 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

严格的函数通常包括三部分:函数声明  函数定义  函数调用

函数声明一般写在头文件里,即xx.h

函数定义一般写在实现文件里,即xx.m

函数调用写在需要的地方,比如main函数

函数部分五种类型:

1.自定义函数

基本格式:返回值类型   函数名称 (函数参数){

                                                            函数体;}

2.无参无返回值

形式:void  函数名(){ //引用时括号不能省

                      声明部分;//定义局部变量

                          语句;}

例:void hello( ){

       printf("hello,world");}

3.无参有返回值

形式:返回值类型  函数名(){

                      声明部分;

                           语句;

                         return 返回值类型变量或常量;} //返回给主调函数

例:float PI( ){

       return 3.1415926;}

4.有参无返回值

形式:void  函数名(形参表列){

                       声明部分;

                            语句;}

注:形参表列的格式:类型  变量名,类型  变量名,......

例:void printNumber ( int x ){

             printf("number is %d",x);}

5.有参有返回值

形式:返回值类型  函数名(形参表列){

                       声明部分;

                             语句;

                             return返回值类型变量或常量;}

例:int max (int x,int y){

            return x>y?x:y;}

形参概述

形式参数简称形参。在函数定义中,函数名后面小括号中的参数。

注意:

①形参定义后并不会立即分配存储空间,在函数调用的时候才会真正的分配存储空间。

②如果有多个形参,可以用逗号分隔。

③形参类型可以不同。

④在函数中不能定义和形参同名的变量。

例:int max(int x,int y) {

                      int x; //错误定义

                      return x>y?x:y;}

实参概述

实参出现在主调函数中。

形参和实参的功能是作数值的传递,发生函数调用时,主调函数把实参的值传送给被调函数的形参。

实参可以是变量、常量,也可以是表达式和函数。

形参和实参之间值传递的过程:

①函数的调用中,实参的值是一个已经确定的值,形参会拷贝实参的内容。

②实参和形参的个数、类型要一致。如果不一致,会造成精度丢失。

③形参的值在函数内部可以被修改,但是不会影响主调函数中实参的值。即形参的改变,不会影响实参的值。

例:int sum(int x,int y) { //①实参5,8分别赋值给x,y

           x = 10,y = 20; //②x,y被重新赋值

           return x + y;} //③返回值30

      int main( ) {

      int d = sum (5,8); //④返回值30赋给sum

      printf("%d\n",d);

      return 0;}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马