• C语言基础:C语言static和extern(1)


    前言

    在前面, 我们讲过局部变量和全局变量, 那么在函数里面, 有没有类似这样子的定义呢? 其实是有的, 函数在这里分为外部函数内部函数, 分别用两个关键字来声明, 下面我们一起来看看吧~~


    开始

    首先我们来看看一个例子:



    我创建了两个文件, 一个用来存放main函数, 一个用来存放其他函数, 关于main函数大家都已经了解了, 这里不做多介绍, 我们主要是来讲Hello.c文件里面的知识.


    有很多人应该看到Hello.c文件里面的关键字extern和static啦, 这两个关键就是我们前言里面所说的内部函数和外部函数, 我们来慢慢了解:

    extern:

    其实我们平常定义的void test(); 这样子的函数, 它就是外部函数, 只是extern可以省略不写, 所以很多人都忽略了extern的存在, 如果在函数的前面加上extern, 那么就是可以完整的定义一个外部的函数啦.


    static:

    这个代表的是内部函数, 所谓的内部函数就是只能在该文件里面调用, 不能在别的文件里面使用, 这次就是所谓的内部函数啦, 如果别的文件想要调用内部函数, 只能像上面的例子那样间接调用, 而不能直接调用.


    下面还有更详细的解释:

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

     1> 默认情况下所有函数都是外部函数

     2> 不允许有同名的外部函数

     

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

     1> 允许不同文件中有同名的内部函数

     

     static对函数的作用:

     1> 定义一个内部函数

     2> 声明一个内部函数

     

     extern对函数的作用:

     1> 完整地定义一个外部函数

     2> 完整地声明一个外部函数

     (extern可以省略,默认情况下声明和定义的函数都是外部函数)






    好啦, 这次我们就讲到这里, 下次我们继续~~~

  • 相关阅读:
    构建简单的二叉树(C)
    C指針淺析(3)
    C語言函數
    C# 細節(2)
    如何做好软件架构设计
    C# 細節(1)
    .NET Framework格式化字符串
    Windows下通过删除硬盘分区直接强行移除Fedora后恢复Windows启动项的方法
    DreamWeaver使用技巧学习心得
    MyEclipse使用心得、快捷键、设置
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282871.html
Copyright © 2020-2023  润新知