goto文を恐れなく使う兵達のスレ
■ このスレッドは過去ログ倉庫に格納されています
0891デフォルトの名無しさん
2005/07/31(日) 13:42:53ぶっちゃけ>>882のgoto使う奴が一番素直で分かりやすいと思うが。
/*
配列をリングバッファに見立てて、idをキーに検索を行う。
ただし、何番目の要素から検索を開始するか指定できるようにする。
指定idを見つけたらその要素にdataの値を設定し、その要素へのポインタを返す。
見つからなければNULLを返す。
*/
typedef struct{int id; int data;} item_t;
item_t ring_buffer[1000];
item_t *hoge(int id, int data, int start)
{
item_t *p_end = ring_buffer + sizeof(ring_buffer)/sizeof(ring_buffer[0]);
item_t *p_start = ring_buffer + start;
item_t *p;
for (p = p_start; p != p_start; ++p) {
if (p->id == id) {
p->data = data;
return p;
}
if (p == p_end)
p = ring_buffer;
}
return NULL;
}
■ このスレッドは過去ログ倉庫に格納されています