Magia wskaźników
Z Wikipedii
Magia wskaźników - potoczne określenie na występowanie skomplikowanych konstrukcji wykorzystujących wskaźniki w języku C. Prostym przykładem takiej magii jest:
int (*(*x[5]))(void *);
powyższy zapis to deklaracja x jako tablicy wskaźników do funkcji zwracających wskaźnik do liczby typu int, a przyjmujących typ void (czyli nic).
Inny przykład
struktura->obiekt.wskaznik_do_funkcji++(1);
Wypisanie zawartości liczby całkowitej:
int i char *p; p = (char *) &i; printf ("%c%c%c%c", *p, *(p+1), *(p+2), *(p+3));
lub bardziej agresywnie
int i; printf ("%c%c%c%c", *((char *) &i), *(((char *) &i)+1), *(((char *) &i)+2), *(((char *) &i)+3) )
Do liczb typu float nie można stosować operatorów binarnych:
float a int *p; p = (char *) &a; *p <<= 1; *p = ~(*p & 02);