為什麼不在標頭檔案做定義

stitchCat發表於2024-08-18

Reference:
為何不能在標頭檔案裡寫定義?

// a.c檔案
#include "c.h"
// #include "c.h"

int main(void)
{
	
	return 0;
}
// b.c檔案
#include "c.h"
// #include "c.h"
// c.h檔案
/*
#ifndef _C_H_
#define _C_H_
*/
#define ONE 1

int i = 1;

void print_no_hello(void)
{
	
}

typedef enum t_level // 加#ifndef _C_H_的原因是資料型別的定義不能在同一個.c檔案內重複
{
	LEVEL_LOW,
	LEVEL_HIGH,
}T_LEVEL;

typedef unsigned char uint8_t;

void print_no_hello(void);

/*
#endif
*/

相關文章