cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
 全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙値 マクロ定義
CmnDataList.c ファイル

単方向リスト操作 共通関数 [詳解]

#include <stdlib.h>
#include "cmnclib/Common.h"
#include "cmnclib/CmnData.h"
#include "cmnclib/CmnLog.h"

関数

CmnDataListCmnDataList_Create ()
 単方向リスト作成 [詳解]
 
void CmnDataList_Free (CmnDataList *list, void *method)
 単方向リスト解放 [詳解]
 
void CmnDataList_Add (CmnDataList *list, void *data)
 単方向リスト要素追加 [詳解]
 
void * CmnDataList_Get (CmnDataList *list, int index)
 単方向リスト要素取得 [詳解]
 

詳解

単方向リスト操作 共通関数

単方向リスト(線状リスト)を作成、操作するための共通関数。
構造も単純であるため、可変配列としての使用に向いている。

著者
H.Kumagai
日付
2004-06-12
Revision
1.1

関数詳解

void CmnDataList_Add ( CmnDataList list,
void *  data 
)

単方向リスト要素追加

単方向リストの末尾に要素を追加する。 引数が不正な場合は何もしない。

引数
list(I/O) 要素を追加するリストへのポインタ
data(I) 追加する要素(データ)
著者
H.Kumagai
CmnDataList* CmnDataList_Create ( )

単方向リスト作成

単方向リストを新規に作成する。

戻り値
作成した単方向リストへのポインタ。作成に失敗した場合はNULLを返す。
著者
H.Kumagai
void CmnDataList_Free ( CmnDataList list,
void *  method 
)

単方向リスト解放

単方向リストを破棄し、メモリ領域を解放する

引数
list(I/O) 解放する単方向リストへのポインタ
method(I) リスト内で保持しているデータを解放する関数へのポインタ。
(単にmalloc関数を使用して確保したメモリなら、freeを指定すれば良い)
指定する関数のI/Fは、以下の条件を満たしていること。
  • 戻り値はなし(void)
  • 引数は、ポインタ変数が1つのみ (ポインタ変数であれば、型は問わない)
NULLが指定された場合は、データの解放処理は行わず、リストの解放のみを行う。
(グローバルメモリや関数ポインタをリストとして格納する場合などにNULLを指定する)
著者
H.Kumagai
void* CmnDataList_Get ( CmnDataList list,
int  index 
)

単方向リスト要素取得

単方向リストから要素(データ)を取得する

引数
list(I) 要素を取得するリストへのポインタ
index(I) 取得する要素のインデックス(最初の要素を0とする)
戻り値
取得したデータへのポインタ(listやindexが不正な場合はNULLを返す)
著者
H.Kumagai