很多时候,看到很多c函数的声明和实现是分开的。声明放在头文件,实现却放在另一个文件,最后函数被其他文件调用。

下面以简单例子说明。

一、声明部分

/* test.h */
#include <stdio.h>int test_func(char *ptr);        /* 声明函数 */

二、实现部分

/* test.c */
#include "test.h"int test_func(char *ptr)    /* 实现函数  */
{printf("%s\n", ptr);return 1;
}

三、调用部分

/* run.c */
#include "test.h"int main(int argc, char *argv)
{char *ptr = "Hello, world!";test_func(ptr);return 0;
}

四、编译并运行

[zzb@localhost test]$ ls
run.c  test.c  test.h
[zzb@localhost test]$ gcc test.c -c
[zzb@localhost test]$ ls
run.c  test.c  test.h  test.o
[zzb@localhost test]$ gcc test.o run.c -o run
[zzb@localhost test]$ ls
run  run.c  test.c  test.h  test.o
[zzb@localhost test]$ ./run
Hello, world!

最后编译记得把实现函数体部分test.o加进到run.c!

转载于:https://www.cnblogs.com/zhuangzebo/p/3290542.html

c 语言申明头文件和实现分开简单例子相关推荐

  1. C语言中头文件怎么写?(本文来源网络,由黑乌鸦进一步完善)

    c语言头文件怎么写?我一直有这样的疑问,但是也一直没去问问到底咋回事:所以今天一定要把它弄明白! 其实学会写头文件之后可以为我们省去不少事情,可以避免书写大量的重复代码.有利于整理思路.使代码脉络更加 ...

  2. c语言的函数头书写标准,C语言的头文件的函数和书写方法.doc

    C语言的头文件的函数和书写方法 C语言头文件作用及写法 头文件几个好处: 1,头文件可以定义所用的函数列表,方便查阅你可以调用的函数:2,头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的 ...

  3. c语言程序头文件作用,C语言头文件

    C语言头文件教程 C 语言的头文件一般都是 .h 做为结尾的. C语言头文件详解 语法 #include 参数 参数 描述 filename 我们需要引入的头文件的名称. 说明 C 语言的头文件一般都 ...

  4. C语言的头文件和库文件(函数库)

    C语言的头文件和库文件(函数库) 分类: Unix环境高级编程 2011-04-17 14:37 2576人阅读 评论(1) 收藏 举报 语言cgcclinuxunix 在C语言中,头文件提供对常量的 ...

  5. c语言二叉树的头文件叫什么,西安交大朱站立数据结构——使用C语言》头文件系列——二叉树.doc...

    西安交大朱站立数据结构--使用C语言>头文件系列--二叉树 本文为二叉链存储结构的二叉树操作实现,实现了二叉树的定义.插入数据.删除数据.撤销以及二叉树的打印.前序遍历.中序遍历.后序遍历等.本 ...

  6. c语言的所有头文件,C语言所有头文件.doc

    C语言所有头文件 C语言所有头文件 stdlib.h包含了很多标准函数和标准宏定义,比如NULL, EXIT_SUCCESS等. ctype.h包含了很多类型定义 string.h包含了字符串操作相关 ...

  7. 在c语言中怎么返回引用参数,C语言函数 函数的声明 C语言的头文件 #include的用法 形参和实参 函数的返回值 - 猫扑天空...

    C语言函数 一.是什么? 是指编程中对一块功能代码的封装,可以理解一个程序片段 二.有什么用? 可以封装代码,方便调用,提高复用性 三.怎么用? 定义:  返回值类型  函数名(形参类型 参数名1-. ...

  8. C语言中头文件和源文件的注意事项

    C语言中头文件和源文件的注意事项 文章目录 C语言中头文件和源文件的注意事项 0.前言 1.实现步骤 1.1 拆分前 1.2 拆分后 2.总结 2.1头文件内容 2.2 源文件(.c)内容 2.3 函 ...

  9. c语言头文件可以定义全局变量,C语言在头文件中定义全局变量

    C语言在头文件中定义全局变量 头文件定义全局变量等问题 全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 可以,在不同的C文件中以static形式来声明同名全局变量.头文件中不可以直接定 ...

  10. 详解C语言中头文件的作用

    大家好,先做个自我介绍,我是天蓬,欢迎阅读本篇博文. 由于本人理解能力不是很好,阅读他人文章时,常常看得晕头晕脑,这让我很是头疼,我想,世界上一定还有和我一样的人(哈哈,不是说你么笨哦).所以,我将会 ...

最新文章

  1. 线程中应该注意的问题
  2. 12张PPT看懂中国虚拟数字人产业现状:应用不止于虚拟偶像,2030年市场达2700亿|量子位智库(附下载)...
  3. 布尔运算_实例解析!布尔运算运用技巧!
  4. C语言再学习 -- 声明与定义
  5. 解决goldengate复制进程应用缓慢一例
  6. 三维叉乘怎么算_3分钟做完这些题,你的CAD才算熟练
  7. java strcpy,详解C语言中strcpy()函数与strncpy()函数的使用
  8. git托管怎么使用_使用Git构建和托管网站
  9. 小白设计模式:桥接模式
  10. WinAPI 字符及字符串函数(12): lstrlen - 串长度
  11. 斐讯k2p openwrt固件改双WAN口
  12. 面试官:Glide 是如何加载 GIF 动图的?
  13. latex表格内容上下居中_Latex-表格内容垂直居中
  14. 局域网服务器时间修改,局域网内建立时间同步
  15. “匠心之韵,数据之美”之InfoQ专访COO叶谦:解读全域大数据战略背后的技术演进...
  16. c mysql加密解密_mysql内置加密函数对数据加密
  17. layui 自定义表格行高,自适应
  18. handler机制--handler概览
  19. 网络编程:C10K问题而引出的reactor模型
  20. 川教版计算机三年级下册教案,三年级下册川教版信息技术教案

热门文章

  1. 获取json格式的内容数据时,使用的方法避免空指针
  2. MySQL sql语句字段截取前几位,后几位等
  3. 阶段3 1.Mybatis_03.自定义Mybatis框架_4.自定义mybatis的编码-解析XML的工具类介绍
  4. 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_4_综合案例_文件上传案例阻塞问题...
  5. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_6_练习_序列化集合...
  6. 【实战】Axis2后台Getshell
  7. 在oracle 12c上如何禁用haip,以及打开haip,以及对haip的理解
  8. [数位dp][状压dp] Jzoj P3458 密码
  9. tensorflow 变量共享
  10. Hbase记录-client访问zookeeper大量断开以及参数调优分析(转载)