Вы не можете включить Ah в Bh, а также включить Bh в Ah - это круговая зависимость.
Если структура или функция в A должна ссылаться на указатель на структуру в B (и наоборот) вы можете просто объявить структуры, не определяя их.
В Ah:
#ifndef __A_H__
#define __A_H__
struct DefinedInB;
struct DefinedInA
{
DefinedInB* aB;
};
void func1(DefinedInA* a, DefinedInB* b);
#endif __A_H__
В Bh:
#ifndef __B_H__
#define __B_H__
struct DefinedInA;
struct DefinedInB
{
DefinedInA* anA;
};
void func2(DefinedInA* a, DefinedInB* b);
#endif __B_H__
Вы можете сделать это только с помощью указателей, опять жечтобы избежать круговой зависимости.