zoukankan      html  css  js  c++  java
  • C语言 extern学习1

    没有头文件时,通过本文件内的函数声明来确定定义域,实现功能:

    //单文件测试
    #include <stdio.h>
    /*
    经测试,C语言环境下子函数默认是void型;所以可省略不写
    为严谨起见,加上void
    */
    void printStr();   //函数定义域:从声明点延伸到源程序文本结束
    void main()
    
    {
    
        printStr();
    
    }
    
    
    
    
     void printStr()
    
    {
    
        printf("Hello world!
    ");
    
    }

    多文件测试:

    第一种方案:

    main.c 子函数定义

    head.h 子函数的声明,该种方法类似单文件测试,目的是将定义域提到最前面 优点是:不必添加子函数中用到的库函数相应的库文件

    代码:

    head.h

    void printStr();   //函数定义域:从声明点延伸到源程序文本结束

    main.c

    //多文件测试
    #include "head.h"
    #include <stdio.h>
    /*
    经测试,C语言环境下子函数默认是void型;所以可省略不写
    为严谨起见,加上void
    */
    
    void main()
    
    {
    
        printStr();
    
    }
    
    
    void printStr()
    
    {
    
        printf("Hello world!
    ");
    
    }

    第二种方案:

    head.h  子函数定义

    main.c  直接引用头文件,无须声明,缺点是:子函数中用到的库函数必须添加相应的库文件

    代码:

    head.h

    #include <stdio.h>
    void printStr()
    
    {
    
        printf("Hello world!
    ");
    
    }

    main.c

    //多文件测试
    #include "head.h"
    #include <stdio.h>
    /*
    经测试,C语言环境下子函数默认是void型;所以可省略不写
    为严谨起见,加上void
    */
    
    void main()
    
    {
    
        printStr();
    
    }
  • 相关阅读:
    AGC037F Counting of Subarrays
    AGC025F Addition and Andition
    CF506C Mr. Kitayuta vs. Bamboos
    AGC032D Rotation Sort
    ARC101F Robots and Exits
    AGC032E Modulo Pairing
    CF559E Gerald and Path
    CF685C Optimal Point
    聊聊Mysql索引和redis跳表
    什么是线程安全
  • 原文地址:https://www.cnblogs.com/shuqingstudy/p/4734337.html
Copyright © 2011-2022 走看看