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();
    
    }
  • 相关阅读:
    centos的DNS服务工作流程及搭建
    将博客搬至CSDN
    全自动网络安装centos(一)安装前准备工作
    网站私有CA证书制作
    LINUX之启动流程
    脚本判断选择语句常用命令
    linux 常用端口
    linux之网卡绑定
    centos7 无法启动网络(service network restart)错误解决办法(转)
    Linux的磁盘配额详解(Quota)
  • 原文地址:https://www.cnblogs.com/shuqingstudy/p/4734337.html
Copyright © 2011-2022 走看看