Zuweisung der Adresse im Heap bei Stacks

Razorhawk

Webdesigner und MSP
Ja ich übe ja gerade wie das mit Pointern und Stacks funktioniert und habe mal einen kleinen Test geschrieben (kein guter Stack, aber ich wills ja erstmal reinbekommen in meinen Schädel)

Ich habe bemerkt, dass mein malloc immer wieder die gleiche Adresse reserviert für meine Variablen.
Kann mir das einer erklären?
Nebenbei mal der code für dne Teile zur zusatzinfo:

Code:
#include <cstdlib>
#include <iostream>

typedef int struct_data;

struct stack_rec {
       
       struct_data content;
       struct stack_rec *next;
       };
       
struct stack_rec *top= NULL;

int main(int argc, char *argv[])
{
    struct stack_rec *temp,*temp2;
     
    temp = (struct stack_rec *) malloc(sizeof(struct stack_rec));
    
    if (temp == 0){
    
       printf("ERROR: Out of Memory");
       return(1);
             
    }
    
    temp->content=11;
    temp->next=top;
    top=temp;
    
    temp2 = (struct stack_rec *) malloc(sizeof(struct stack_rec));
    
    if (temp2 == 0){
    
       printf("ERROR: Out of Memory");
       return(1);
             
    }
    
    temp2->content=14;
    temp2->next=top;
    top=temp2;
    
    printf("%d\n",top->content);
    printf("%d\n\n",top->next); 
    

    top = top->next;
    printf("%d\n",top->content);
    printf("%d\n\n",top->next);    
    
    free(temp);
    free(temp2);
    
    
    system("PAUSE");
    return(0);

}
 
Ich glaube das liegt daran wie der Speicher im System verwaltet wird.
Wenn du malloc aufrufst, fragst du bei deinem System nach Platz im Speicher, darauf
reagiert dein System indem es Speicher im RAM reserviert und diesem Speicher eine
virtuelle Adresse zuweist. Und diese Adresse bekommst du dann und die ist dann eben
immer gleich - egal wo der Platz im Ram nun in Wirklichkeit liegt.
 
Danke für die Antwort, aber die befriedigt mich noch nicht ganz.
Wenn jemand genaueres weiß, dann immer her mit den Infos :)
 
Hab ja nicht behauptet, dass das falsch ist, ich wollte nur genaueres wissen und dazu lese ich mir den Inhalt deinen Link durch, danke!
 
Da muss ich jetzt einfach mal viel Spass wünschen... :-)
7 Seiten Theorie vom feinsten... ich seh schon den Kopf rauchen!

Na denn - auf gehts! ;)
 
Zurück