黑马程序员---函数的相关知识

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


函数:功能相对独立的代码段。
分为: 库函数  和   用户自定义函数
格式:返回值类型 函数名称(函数参数){函数体}
函数的定义到使用需要三步:1.声明函数
                                               2.定义函数
                                               3.调用函数

无参无返:void是无返回值函数,执行后不会向调用者返回执行结果。也称"空类型"。
void  函数名(){函数体  声明部分;}

无参有返:
返回值类型  函数名(){函数体;
        return 返回值类型变量或常量;}

有参无返:
void 函数名(形式参数列表){函数体  声明部分}

有参有返:
返回值类型  函数名(形式参数列表){函数体;
        return 返回值类型变量或常量;}

-----------------------------------------------------------------------------------
函数的参数 分为  形式参数  和    实际参数

形参出现在函数定义中。
实参出现在函数调用中。
形参和实参的实质是值传送
形参和实参有以下几个注意点:
1) 形参变量只有在函数被调用时才分配内存单元,在调用结束时,立刻释放所分配的内存单元。
    因此,形参只有在函数内部有效,不能在函数外部使用。
2) 实参可以是常量、变量、表达式、函数等,调用时都必须有确定的值。
3) 实参和形参在数量上、类型上、顺序上必须严格一致,否则会发生“类型不匹配”的错误。

函数的值只能通过 return语句返回主调函数。
没有返回值的函数为空类型(void)
凡不要求返回值的函数都应定义为空类型。




一般形式为:
                    return 表达式;
                    return (表达式);
例如:
                return max;
                return a+b;
                return (100+200);

一旦遇到 return 语句,不管后面有没有代码,函数立即运行结束,将值返回。
   
   
  1. intfunc(){
  2. int a=100, b=200, c;
  3. return a+b;
  4. return a*b;
  5. return b/a;
  6. }
返回值是300,之后的return并不读取。

-----------------------------------------------------------------------------------------------------------
函数的声明:
在调用函数之前,应该对被调函数进行声明。
格式是 :    函数头;       (函数体{}之前的部分,包括小括号部分的形参。)

注意:1. 如果被调函数的返回值类型是 int 类型,则可以不声明。
           2.被调函数如果写在主调函数之前,则可以不声明。

函数调用的一般形式为:
     函数名(实参列表);
实参可以是常数、变量、表达式。
如: m=max(3,8);
        m=max(a,b);
        m=max(a+3,b+8);
        m=max(a=100,b++);

注意:
1.函数表达式
    m=max(3,8)+15
2.函数可以被调用于其他函数的实参(可用于求三个数的最大值)
    m=max(34,5);
    m=max(max(34,5),100);
3.函数名不能与变量名重名



#include <stdio.h>

int main(int argc, const char * argv[]) {    //主调函数
    int max(int x,int y);                                 //声明函数
     int x=max(max(30,40),55);                    //调用函数 嵌套
     printf("%d\n",x); 
    return 0;
}


int max(int x,int y) {                                    //被调函数
     return x>y?x:y; 
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值