構造体ADTで見つかった教師のコード、を見るとadt.cは時々内部に、時々書いて書いたadt.hれ、実際には、いくつかの混乱、慎重に検討した後、構造体をテストすることができadt.hで書かれましたadt.c adt.cに直接、のみ構造体に使用される.Cを使用することができる、対応するadt.hポインタを使用することができる定義する必要があります。
要約:
- 中adt.hで書かれた構造体、あなたが呼び出すことができます
- 限り、あなたはadt.cを呼び出すことができるよう、adt.cで書かれストラクト
☀☀☀<<例>>☀☀☀
adt.cポインタadt.hを構築し、構造体を設置したが、test.cの中にアクセスできない
adt.h
書式#include <stdio.hに> する#include <stdlib.h>に含ま typedefの重量をフロート。 typedef int型頂点。 エッジ*構造体のエッジのtypedef。 空showEdge(エッジ)。 エッジニューエッジ(頂点、頂点、重量);
adt.c
する#include <stdio.hに> する#include <STDLIB.H> の#include "adt.h" 構造体のエッジ{ 頂点v。 頂点のw。 重量X; }。 エッジニューエッジ(頂点v、頂点W、体重X){// WにVからエッジを作成する エッジe = malloc関数(はsizeof(構造体のエッジ))。 E-> V = V; E-> W = W。 E-> X = X。 電子を返します。 } ボイドshowEdge(エッジe){//エッジとその重量印刷 のprintf( "%D-%D:%の.2f"を、E-> V、E-> W、E-> X)。 返します。 }
test.cの
#include "adt.h" int型のmain(){ エッジe =ニューエッジ(2、3、4)。 showEdge(E); //のprintf( "\ nの%のDは、%D、%の0.2Fする\ n"、E-> V、E-> E-> X、W)。 0を返します。 }
出力:
2-3:4.00
☀☀☀<<例>>☀☀☀
adt.h構造体、adt.cとtest.cのが呼び出すことができる確立が、弱いに対する
adt.h
書式#include <stdio.hに> する#include <stdlib.h>に含ま typedefの重量をフロート。 typedef int型頂点。 typedefは構造体{ 頂点v。 頂点のw。 重量X; }エッジ。 空showEdge(エッジ)。 エッジニューエッジ(頂点、頂点、重量);
adt.c
する#include <stdio.hに> する#include <STDLIB.H> の#include "adt.h" エッジニューエッジ(頂点v、重xは頂点、W){// WにVからエッジを作成する エッジe = {V、W 、 バツ}; 電子を返します。 } ボイドshowEdge(エッジE){//プリントエッジとその重量 のprintf( "%D-%D:%の.2f"、EV、EW、EX)。 返します。 }
test.cの
#include "adt.h" int型のmain(){ エッジe =ニューエッジ(2、3、4)。 showEdge(E); printf( "\ n%のDは、%D、%の0.2Fする\ n"、EV、EW、EX)。 0を返します。 }
出力:
2-3:4.00 2、3、4.00