void funkcja_01(int, int) {} void funkcja_02(int, int) {} void funkcja_03(int, int) {} ... void funkcja_10(int, int) {}
int main() { switch (stan) { case 1: funkcja_01()..); case 2: funkcja_02(..); ... case 10: funkcja_10(...); }; }
int main () { void (*funkcje[]) (int, int) = { &funkcja_01, &funkcja_02, &funkcja_03 ... &funkcja_10 // i zamiast sprawdzac stan zmiennej 'stan' po prostu uzywamy: funkcje[stan](a,b); }
@mateusz_s, post #1
@mateusz_s, post #1
@mateusz_s, post #1
void clear(int* screen) { int i = 10240; do { *screen = 0; screen++; } while (--i, 0!=i); }
@asman, post #4
Nie byłbym sobą, gdybym nie sprawdził i jak zwykle żaden kompilator nie wygenerował kodu takiego jakbym chciał (albo chociaż zbliżonego). Marzy mi się by kompilator był w stanie użyć rozkazów dbcc.
A to ten przykładzik
void clear(int* screen) { unsigned short i = 10239; do { *screen = 0; screen++; } while (--i != 0xffff); }
_clear(int *): movel sp@(4),a0 movew #10239,d0 L6: clrl a0@+ dbra d0,L6 rts nop