可変長のメモリのコピーをC言語のswitch-caseを使って書く技法 send(to, from, count) register short *to, *from; register count; { register n = (count + 7) / 8; switch(count % 8) { case 0: do { *to = *from++; case 7: *to = *from++; case 6: *to = *from++; case 5: *to = *from++; case 4: *to = *from++; case 3: *to = *from++; case 2: *to = *from++; case 1: *to = *from++; } while(--n > 0); } } 「Duff’s_device」(2024-08-19 09:55 JTC)『ウィキペディア日本語版』より。