头文件

至于头文件是什么,稍微有点C语言基础的人都知道,是源文件之间用来做共享的,首先来说一下头文件编写的一个小技巧
在包含头文件的时候,我们有时候会把同一个文件包含两次以上,为了避免出现这个问题,我们可以这样做,比如说现在有一个头文件boolean.h,它里面定义了一个宏BOOLEAN_H那我们就可以这样编写此头文件:

#ifndef BOOLEAN_H
#define BOOLEAN_H
#define TRUE 1
#define FALSE 0
#endif

这样一来,当我们第一次#include "boolean.h"的时候,#ifndef#endif之间的宏定义会被执行,但是当我们再次包含该头文件的时候,#ifndef#endif之间的语句就失效了,这样的话,即使该头文件被包含了两次,也不会引发错误

Makefile

基本格式

目标:依赖
    编译命令

联合(union)

联合的声明方式与结构体是非常相近的,他们两个唯一的差别就是:

union u {   
    int i;
    double d;
} u;

C语言学习笔记(二)_经验分享
对于这个union来说,如果说int占4字节,double占8字节,那么double数据的前四个字节是和int共享的,这种结构有利于节约空间,在这个例子中,只要int的值改变了,那么相应的,double的值也会变成和int相同的值

枚举

直接来看一段代码吧:

#include<stdio.h> 

#define PRINT_INT(n) printf(#n" = %d\n", n)

int main() {
    enum suit {CLUB = 1, DIAMONDS = 2, HEARTS, SPADES};
    int i;
    i = HEARTS;
    PRINT_INT(i);
    return 0;
} 

在上面代代码的枚举类型suit中,我们只给CLUBDIAMONDS赋了值,后面的两个枚举值会自动递增,其实枚举类型就是相当于映射之类的东西