goto文を恐れなく使う兵達のスレ
■ このスレッドは過去ログ倉庫に格納されています
0882デフォルトの名無しさん
2005/07/29(金) 20:51:08配列をリングバッファに見立てて、idをキーに検索を行う。
ただし、何番目の要素から検索を開始するか指定できるようにする。
指定idを見つけたらその要素にdataの値を設定し、その要素へのポインタを返す。
見つからなければNULLを返す。
*/
typedef struct{int id; int data;} item_t;
item_t ring_buffer[1000];
result_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_end; ++p)
if(p->id == id ) goto FOUND;
for(p = ring_buffer; p != p_start; ++p)
if(p->id == id ) goto FOUND;
return NULL;
FOUND:
p->data = data;
return p;
}
■ このスレッドは過去ログ倉庫に格納されています