Jeśli przechowuję wskaźnik do funkcji, a następnie w pewnym późniejszym momencie podczas wykonywania mojego programu, porównaj go z adresem tej samej funkcji, czy oba adresy są równe.Czy funkcje C mają stały adres pamięci?
E.g.
int foo(void){return 0;}
int (*foo_p)(void) = &foo;
assert(foo_p == &foo);
W powyższym kodzie jest twierdzenie zawsze gwarantowane, aby odnieść sukces? Czy są jakieś warunki, pod którymi adres funkcji może się zmienić?