PList関数でC言語のポインター操作を少しでも楽に
PList関数を作成しました。
どんな関数かというとC言語の配列型です。
いままでサイズを取って領域の確保をおこなって
さらにそのサイズ分だけループを回すということをやっていたのですが
いちいち何個あったのかを記憶するのが面倒なので作成しました。
使い方はいたってシンプルで以下がサンプルです。
#include "pointer_list.h" #include <stdio.h> int main(){ char *val; PList *list = InitPList(); AddPList(list, "HELLO"); AddPList(list, "WORLD"); AddPList(list, "WORLD2"); forlist(val, list){ printf("%s\n", val); } val = GetValueIndexPList(list, 1); printf("%s\n", val); DeletePList(list, 1); val = GetValueIndexPList(list, 1); printf("%s\n", val); FinalPList(list); return 0; }
結果
HELLO WORLD WORLD2 WORLD WORLD2
C言語で配列を扱う際には何個領域を確保してその分だけ保管し、取り出すときは
回数分ループで回すということをおこなわなくてはいけないという事情がありましたので
そういうメモリ関連を頭から除外したい際には有用ではないかと思います。