转载自:http://www.cnblogs.com/infiniti/archive/2013/03/19/2968689.html

简略的摘抄一点内容,全文请参考转载地址。

1.c语言中.c和.h文件的困惑
本质上没有任何区别。   只不过一般: 
.h文件是头文件,内含函数声明、宏定义、结构体定义等内容

.c文件是程序文件,内含函数实现,变量定义等内容。

而且是什么后缀也没有关系,只不过编译器会默认对某些后缀的文件采取某些动作。你可以强制编译器把任何后缀的文件都当作c文件来编。

这样分开写成两个文件是一个良好的编程风格。

2.在头文件中声明结构体,函数等,当你需要将你的代码封装成一个库,让别人来用你的代码,你又不想公布源码,那么人家如何利 用你的库呢?也就是如何利用你的库中的各个函数呢??一种方法是公布源码,别人想怎么用就怎么用,另一种是提供头文件,别人从头文件中看你的函数原型,这 样人家才知道如何调用你写的函数,就如同你调用printf函数一样,里面的参数是怎样的??你是怎么知道的??还不是看人家的头文件中的相关声明 啊!!!当然这些东东都成了C标准,就算不看人家的头文件,你一样可以知道怎么使用。

C语言中,头文件和源文件的关系(转)相关推荐

  1. C语言中,头文件的作用,头文件和源文件的关系(转)

    简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段  2.词法与语法分析阶段  3.编译阶段,首先编译成纯汇编语 ...

  2. C++头文件和源文件,编译过程

    源文件如何根据#include来关联头文件  1.系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找. #include <xxx.h> 2.用户自定义的文件用双引号括起来, ...

  3. C++头文件和源文件的编译过程

    源文件如何根据#include来关联头文件 1.系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找. #include <xxx.h> 2.用户自定义的文件用双引号括起来,编 ...

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

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

  5. 头文件和源文件的关系

    一.关于头文件和源文件之间的关系,理解把握要点在于: 1.头文件是给编程开发人员看的,而源文件是给编译器看的: 2.在#include头文件时,编译器直接把相应的头文件复制粘贴到源文件的相应位置: 3 ...

  6. C++ 笔记(25)— 理解 C++ 中的头文件和源文件的作用

    1. C++ 编译模式 通常,在一个 C++ 程序中,只包含两类文件: .cpp 文件,被称作 C++ 源文件,里面放的都是 C++ 的源代码 .h 文件,被称作 C++ 头文件,里面放的也是 C++ ...

  7. c 中头文件和源文件的区别是什么

    区别:头文件是".h"文件,提供接口:源文件是".cpp"文件,提供实现.编译器规定源文件必须包含函数入口,即main函数:而头文件不得包含函数入口,头文件不可 ...

  8. C++类模板怎么写在单独的头文件和源文件中

    今天打算研究研究之前我们领导写的一段关于类模板的代码,后来发现有点坑需要记录一下.以往关于C++模板基本上都是写一个demo,然后运行通过,没有软件工程的样子,所以今天我按以往的惯例写了一个类模板,打 ...

  9. C语言头文件和源文件差异,#include两种引用方式差异

    一些初学c语言的人,不知道头文件(*.h文件)原来还可以自己写的.只知道调用系统库函数时,要使用#include语句将某些头文件包含进去.其实,头文件跟.c文件一样,是可以自己写的.头文件是一种文本文 ...

最新文章

  1. 奖学金设计mysql_基于JAVA的奖学金评定系统设计与实现(MySQL)(含录像)
  2. 有趣的编程代码_iPad amp; Mac 编程游戏推荐
  3. checked jq 添加_jquery动态添加复选框.attr(“checked”,true)不起作用
  4. win10taskkill强行结束进程_强制结束进程命令(ntsd命令/taskkill命令)使用教程
  5. 【数字信号处理】基于Matlab GUI数字均衡器设计【含Matlab源码 904期】
  6. 电源管理方案APM和ACPI比较
  7. python画折线统计图画区间_matplotlib-折线图、散点图
  8. 天正菜单栏不见了怎么显示出来_天正建筑菜单栏不见了怎么调出来
  9. 品高云暴漫 | 云计算足球赛之黑马
  10. 实体-关系图转换为关系模型
  11. PS技巧---提取线稿
  12. linux 将新密码邮件发送,linux脚本实现自动发送和收取邮件的设置方法
  13. 达观数据爱心公益再出发,走进广西桥业小学开展捐书助学活动
  14. 收集的一些google搜索引擎技巧
  15. 开启mybatis属性使用驼峰的命名
  16. 在markdown下用mma画函数图像
  17. 《Cisco防火墙》一6.5 虚拟防火墙的管理访问
  18. 《数据结构》实验报告二:顺序表 链表
  19. strcat函数用法的一点看法
  20. python爬取阿里巴巴网站实现

热门文章

  1. 存储器——嵌入式系统
  2. VS用SSIS实现SQL Server数据库与Excel表格数据的相互导入
  3. PHP获取客户端和服务器端IP
  4. linux ip命令
  5. 序列标注的BIO标注体系
  6. python英文单词
  7. 如何创建一个Hidl Service?
  8. 《“雕刻”--“雕塑”系统操作设计》
  9. js 生成UUID的几种方法
  10. 广义Pareto分布---极值理论的学习3