Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   Stack frame (https://forum.scholieren.com/showthread.php?t=1499195)

12Trix 07-11-2006 14:58

Stack frame
 
Ik heb een opdracht waarbij ik:
1) een stackframe moet tekenen van de functie zoek
2) de volledige stack moet tekenen bij een aanroep van zoek waarbij de recursiediepte 3 is.

Code:

Gegeven is het volgende C-programma:

int x, buf[20];
// de buffer wordt gevuld met zinvolle getallen

int zoek(int p, int x)
{
  if (p >= 20) return -1;
  else if (buf[p] == x) return p;
  else return zoek(p+1, x);
}

x = zoek(0, 3);
printf(“x=%d”, x);

Ik heb het volgende:

1)
Code:

--------
| ebp
| p   
| x   
--------

2)

Code:

----------
| ebp
| p = 2
| x = 3
| --
| ebp
| p = 1
| x = 3
| -
| ebp
| p = 0
| x = 3
----------

Weet iemand of dit een beetje klopt? C zet argumenten op de stack van rechts naar links, daarna zet de functie zelf ebp op de stack.


Alle tijden zijn GMT +1. Het is nu 04:20.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.