美文网首页
【C语言笔记】<二十三>extern和static对

【C语言笔记】<二十三>extern和static对

作者: 大基本功 | 来源:发表于2018-05-16 09:46 被阅读9次
    //  main.c
    #include <stdio.h>
    #include "zs.h"
    
    //void demo();
    /*
     函数也分为内部函数和外部函数
     默认情况下所有的函数都是外部函数
     什么是外部函数? 可以被其它文件访问的函数称之为外部函数
     什么是内部函数? 只能在当前文件中范文的函数称之为内部函数
     */
    int main(int argc, const char * argv[]) {
        
        test();
    //    demo();
        return 0;
    }
    
    //  zs.c
    #include "zs.h"
    
    // 声明内部函数一般用于内部函数定义在后面, 而想在定义之前使用内部函数
    static void demo();
    
    // 只要在函数的返回值前面加上一个extern就可以让函数变为一个外部函数, 由于默认就是外部函数, 所以在开发中一般情况extern没人写
    // 如果extern写在函数的实现中, 代表定义一个外部函数
    // 如果extern写在函数的声明中, 代表声明一个外部函数
    extern void test()
    {
        printf("test printf\n");
        demo();
    }
    
    // 只要在函数的返回值前面加上static就可以让函数变为内部函数, 其它文件就不能访问了
    // 如果static写在函数的实现中, 代表定义一个内部函数
    // 如果static写在函数的声明中, 代表声明一个内部函数
    static void demo()
    {
        printf("demo printf\n");
    }
    
    //  zs.h
    extern void test();
    
    // 在.h中声明一个内部函数没有任何意义
    //static void demo();
    
    

    相关文章

      网友评论

          本文标题:【C语言笔记】<二十三>extern和static对

          本文链接:https://www.haomeiwen.com/subject/iwlddftx.html