Достижение больших выгод от объектно-ориентированного стиля
стиле, то мы могли бы иметь более чем один подход к декомпрессии, как
здесь. За счет того, что мы извлекли внутренние переменные и поместили их в структуру, и без остановки из имеющихся более чем одной копии
структуры:
char buff1[]={'a',0xff,3,'b','c'}, buff2[]={'z','y',0xff,4,'x'};
main()
{
int c1, c2;
decompressor dc1, dc2; // У нас есть ДВЕ структуры декомпрессора
decompressor_init(&dc1, buff1, sizeof(buff1));
decompressor_init(&dc2, buff2, sizeof(buff2));
do {
if ((c1 = decompressor_next(&dc1)) != -1) putchar(c1);
if ((c2 = decompressor_next(&dc2)) != -1) putchar(c2);
} while (c1 != -1 || c2 != -1);
}