zoukankan      html  css  js  c++  java
  • 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可以省略,默认情况下声明和定义的函数都是外部函数)






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

  • 相关阅读:
    pandas基础操作(一)
    将字符串中的字符映射不同的值,并保存txt文本
    and、or、not、in、not in 中的or
    pandas读写数据库
    SQL语句被锁,运行超时
    在一张表里添加另外一张表里的一列数据
    Linux服务进程管理
    Ubuntu软件更新更换源
    SpringBoot1-1
    Linux 基本使用2
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282871.html
Copyright © 2011-2022 走看看