Adresse - Integer - Parameter
-
Mit der Überschrift kann man wohl nicht direkt was mit anfangen,
darum hier mal in code:int address_to_int ( int* adress ) { int num = *adress; return num; } int main() { int test = address_to_int(10);
Ist sowas iwie möglich? Ob sinnvoll oder nicht sei mal hinten angestellt.
-
Ohne Umwege kannst du nicht einfach wahllos auf Speicher zugreifen.
-
geht etwa so:
int i; // eine variable int *p = &i; // adresse der variablen unsigned long l = (unsigned long)p; // einen wert daraus machen // ... kürzer ... unsigned long m = (unsigned long)&i;
^^ d.h. mit 'nem cast geht fast alles.
-
Statt
int num = *adress;
int num = (int)*adress;
dann gehts.
Ach ja, in deinem Beispiel kriegst du die Adresse von der lokalen Variable int* adress, die es nach dem return nicht mehr gibt.
Wie ;fricky schon sagte, mit &variable kriegst du die Adresse der Variablen.
&10 funktioniert allerdings nicht, weil 10 keine Adresse ist sondern eine Zahl.