[429] ADTのへのアクセスに

構造体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

 

おすすめ

転載: www.cnblogs.com/alex-bn-lee/p/11295181.html