Stan każdej funkcji (także main()) jest opisywany przez wartości wszystkich zmiennych automatycznych (lokalnych) i parametrów funkcji oraz adres powrotu, wskazujący gdzie wznowić wykonywanie procesu, który wywołał funkcję. Obszar danych zawierający tę informację nosi nazwę rekordu wywołania / aktywacji (activation record) lub ramki stosu (stack frame). Rekord wywołania istnieje dopóki, dopóki dla funkcji, której dotyczy, nie zakończy działania. Stanowi on prywatny bank danych dla funkcji, przechowujący wszystkie informacje potrzebne do jej prywatnego działania i powrotu do miejsca wywołania.
Rekord wywołania zawiera następujące informacje:
- wartości wszystkich parametrów funkcji;
- zmienne lokalne;
- adres powrotu;
- dynamiczne dowiązanie – wskaźnik do rekordu wywołania procesu wywołania funkcji;
- zwracaną wartość (jeśli funkcja nie była deklarowana jako void);