zoukankan      html  css  js  c++  java
  • C语言——函数

     

    主要讲述了函数的定义,使用、形参、实参以及返回值等内容。

    一、函数。

        一个程序包括一个或者多个程序段(小程序),每个程序段都有自己的功能,我们一般称这些程序段为“函数”

    二、函数的定义

          1、定义函数

                ① 定义函数名;   ②定义函数体;

          2、 定义函数的格式

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

          {

            函数体

           }

          代码举例

    1 //定义一个函数,计算两个整数的和
    2 int sum(int a, int b) 
    3 {
    4     int c = a + b;
    5 }

    三、函数的参数

        1、形式参数:定义函数时函数名后面中的参数,简称形参

        2、实际参数:调用函数式传入的具体数据,简称实参

        3、实参个数必须等于形参个数

        4、函数体内部不能定义和形参一样的变量

        5、如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值

        6、一个函数可以没有形参,也可以有无限多个形参

     1 //代码举例
     2 // 形式参数,简称形参
     3 int sum(int num1, int num2)
     4 {
     5     // 函数体内部不能定义和形参一样的变量
     6     // int num1;
     7 
     8     num1 = 50;
     9 
    10     return num1 + num2;
    11 }

    四、 函数的返回值

          1、return的作用:

             ①  退出函数

             ②  返回一个具体值给函数调用者

          2、返回值注意点

             ① void代表没有返回值

             ② 如果没有明确说明返回值类型,默认是返回int类型

             ③ 就算明确声明了返回值类型,也可以不返回任何值

     1 //代码举例
     2 //返回字符型
     3 char test()
     4 {
     5     return 'A';
     6 }
     7 //void没有返回值
     8 
     9 void test5()
    10 {
    11     
    12 }
    13 //返回int型数据
    14 int test3()
    15 {
    16     printf("返回int型
    ");
    17 }
    18 
    19 // 如果不明确声明返回值类型,默认就是int类型
    20 test2()
    21 {
    22     printf("默认int型
    ");
    23     return 10;
    24 }

    五、函数的易错点

       1、默认情况下,不允许有函数的名称一样

       2、函数不能嵌套定义

       3、函数不能重复定义,但是可以重复声明

       4、如果有函数的声明,没有函数的定义

          ① 编译可以通过,因为编译器只会检测语法合不合理,并不会检测函数有没有定义

          ②  链接报错,因为链接的时候会检测函数是否定义

      

    1 //代码举例
    2 // 函数的声明
    3 void printLine();
    4 // 函数的定义
    5 
    6 void printLine()
    7 {
    8     printf("--------
    ");
    9 }

    六、 include的简单用法

        1、 作用:拷贝右边文件的所有内容到#include所在的位置

        2、 自定义的文件用"",系统自带的文件用<>

        3、 #include <stdio.h>的目的:拷贝printf函数的声明

     1 //代码举例
     2 #include <stdio.h>
     3 
     4 int main()
     5 {
     6     printf("include的使用方法
    ");
     7     
     8 //#include "gaizuojia/first.txt"
     9 #include "/Users/gaizuojia/Desktop/代码/include/gaizuojia/first.txt"
    10     return 0;
    11 }

    七、多文件的开发

      (一) 好处:

          1、利于团队合作

          2、方便阅读

          3、 多人修改,效率更高

      (二)用法:

          1.函数的定义放.c文件,函数的声明放.h文件

          2.如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件

          3.h文件的作用:被别人拷贝。编译链接的时候不需要管.h文件

          

    //代码举例
    //主函数的编写
    #include <stdio.h>
    #include "divided.h"
    
    int main()
    {
        int score1 = 100;
        int score2 = 70;
        
        int c = average(score1, score2);
        int d = sum(score1, score2);
        
        printf("平均分是%d
    ", c);
        printf("总分是%d
    ", d);
        
        
        printf("e=%d
    ", e);
        
        return 0;
    }
     1 //代码举例
     2 //divided的.c文件(基本运算)
     3 int average(int a, int b)
     4 {
     5     return (a + b)/2;
     6 }
     7 
     8 int sum(int a, int b)
     9 {
    10     return a + b;
    11 }
    12 
    13 int minus(int a, int b)
    14 {
    15     return a - b;
    16 }
    17 
    18 int multiply(int a, int b)
    19 {
    20     return a * b;
    21 }
    1 //代码举例
    2 //divided的.h头文件(基本运算函数的声明)
    3 int average(int a, int b);
    4 int sum(int a, int b);
    5 int minus(int a, int b);
    6 int multiply(int a, int b);
  • 相关阅读:
    攻防世界pwn高手区——pwn1
    攻防世界misc——János-the-Ripper
    攻防世界逆向——game
    PWN——ret2dl_resolve
    谈一些想法
    python网络编程(一)
    pwnable.kr之unlink
    堆的数据结构探究
    记一次GKCTF之旅
    socket笔记
  • 原文地址:https://www.cnblogs.com/gaizuojia/p/4356365.html
Copyright © 2011-2022 走看看