• 黑马程序员__C语言__函数__static和extern


     

    static 和 extern

    外部函数:定义的函数能被本文件和其他文件访问

    内部函数:定义的函数只能被本文件访问,其他文件不能访问

    默认情况下,所有函数都是外部函数。

    完整的定义一个外部函数:

    extem viod test()    //extern是可以省略的,默认都是省略的

    {
    printf("调用了test函数 ")
    }

    完整的声明一个外部函数:

    extem viod test();    //可以省略extern, 默认情况下都是外部函数

    定义一个内部函数:

    static viod test2()
    {
    printf("调用了test2")
    }

    内部函数不能直接被其他文件访问,只能间接被访问

    不允许有同名的外部函数,内部函数的名字一样在每个文件里面是不冲突的

    static对函数的作用:

    1.定义一个内部函数

    2.声明内部函数
    extern对函数的作用:

    1.完整的定义一个外部函数

    2.完整的声明一个外部函数

    static和extern对变量的作用 :定义和声明一个内部和外部变量

    外部变量:定义的变量能被本文件和其他文件访问
    内部变量:定义的变量只能本本文件访问,不能被其他文件访问


    默认情况下,所有的全局变量都是外部变量
    不同文件中的同名外部变量都代表着同一个变量,可以重复定义

     

     

    函数

    任何一个C语言程序都是由一个或者多个程序段构成的,每个程序段都有自己的功能,我们一般称这些程序段为函数,所以,你可以说C语言程序是由函数构成的。


    函数的定义


    1.定义函数的目的
    将一个常用的功能封装起来,方便以后调用

    2.定义函数的步骤

    函数名:函数叫什么名字
    函数体:函数是干什么用的,里面包含了什么代码

    3.格式

    固定格式(很多语言的函数都是这么写的)

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

    {
    函数体

    }

    举例

    定义一个函数,计算两个整数的和

    sum(int a, int b)
    {
    int c =a+b;

    }

    形参和实参

    形参:定义函数的时候要定义的变量,形参可以有无数个,在函数体不能定义和形参一样的变量

    实参:在调用函数的时候传入函数的实际参数,实参必须要和形参一一对应

    注意

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

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


    定义一个内部变量:

    static int b; // 和定义一个内部函数的形式差不多

    不同文件中的同名内部变量,互不影响

  • 相关阅读:
    jQuery基础
    深入理解JVM内存模型(jmm)和GC
    oracle,哪些操作会导致索引失效?
    systemd
    一个我小时候玩过的我是猪不然关机的软件,我高仿了一个,超简单。
    自己写的求最大值实现,用到了模板函数。
    poj 1695
    poj 1192
    poj 1239
    poj 1170
  • 原文地址:https://www.cnblogs.com/jia694600474/p/3997038.html
Copyright © 2020-2023  润新知