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

スタック操作 共通関数 [詳解]

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

関数

CmnDataStackCmnDataStack_Create ()
 スタック作成 [詳解]
 
void CmnDataStack_Free (CmnDataStack *stack, void *method)
 スタック解放 [詳解]
 
void CmnDataStack_Push (CmnDataStack *stack, void *data)
 スタックに要素追加 [詳解]
 
void * CmnDataStack_Pop (CmnDataStack *stack)
 スタックから要素取得 [詳解]
 

詳解

スタック操作 共通関数

スタックを作成、操作するための共通関数。

著者
H.Kumagai
日付
2020-01-16

関数詳解

CmnDataStack* CmnDataStack_Create ( )

スタック作成

スタックを新規に作成する。

戻り値
作成したスタックへのポインタ。作成に失敗した場合はNULLを返す。
著者
H.Kumagai
void CmnDataStack_Free ( CmnDataStack stack,
void *  method 
)

スタック解放

スタックを破棄し、メモリ領域を解放する

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

スタックから要素取得

スタックから要素(データ)を取り出す。

引数
stack(I) 要素を取得するスタックへのポインタ
戻り値
スタックから取り出したデータ(stackが空の場合はNULLを返す)
著者
H.Kumagai
void CmnDataStack_Push ( CmnDataStack stack,
void *  data 
)

スタックに要素追加

スタックに要素を追加する。 引数が不正な場合は何もしない。

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