:

C语言中 .c 和 .h 文件

发布于:2019-2-26 11:00 作者:song100e 浏览:44 分类:C 语言
本质上没有任何区别。 只不过一般:.h文件是头文件,内含函数声明、宏定义、结构体定义等内容。.c文件是程序文件,内含函数实现,变量定义等内容。而且是什么后缀也没有关系,只不过编译器会默认对某些后缀的文件采取某些动作。你可以强制编译器把任何后缀的文件都当作c文件来编。
这样分开写成两个文件是一个良好的编程风格。

        简单的说其实要理解 C 文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:

        1.预处理阶段
        2.词法与语法分析阶段
        3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟 CPU 相关的二进制码,生成各个目标文件 (.obj文件)
        4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用 objcopy 生成纯二进制码,也就是去掉了文件格式信息。(生成 .exe 文件)

阅读全文>>

0

C 语言中 typedef struct 和 struct 的理解

发布于:2019-2-25 15:52 作者:song100e 浏览:47 分类:C 语言

举例代码:

typedef struct tagMyStruct
{ 
  int iNum;
  long lLength;
} MyStruct;

上面的 tagMyStruct 是标识符,MyStruct 是变量类型。


这段语句实际上完成两个操作
1) 定义一个新的结构类型

struct tagMyStruct
{   
  int iNum; 
  long lLength; 
};

2) typedef 为这个新的结构起了一个名字(别名),叫 MyStruct。
typedef struct tagMyStruct MyStruct;
因此,MyStruct 实际上相当于 struct tagMyStruct,我们可以使用 MyStruct varName 来定义变量。



标签: struct

0