Опитвате се да разберете какво всъщност представлява указателят към функцията? Това ли е адресът в кодовия сегмент, където се намира функцията?
Например: тази част от кода:
#include <stdio.h>
void foo(void)
{
}
int main(void)
{
int a = 10;
printf("a's address: %p\n", &a);
printf("foo's address: %p\n", foo);
return 0;
}
... отпечатва това:
[sh/prog-exercises/adam]:./a.out
a's address: 0xbfffb414
foo's address: 0x8048430
Предполагам, че съм малко объркан с това как точно стекът/купчината на процес се свързва с ELF сегмент от данни/код-сегмент. Всякакви полезни насоки биха били наистина добре дошли. Също така, първият ми въпрос, така че, моля, бъдете нежни, наистина се опитвам да се науча. Благодаря!