Adresse ist int ?
-
Ja mal eine Frage.
Die Adresse auf z.B. eine Strukur ist eigentlich doch nichts anderes als ein int?
struct ETWAS *p_Etwas; int iWert; p_Etwas = malloc(sizeof(struct ETWAS)); iWert = (int)pEtwas; printf( ((ETWAS*)iWert)->element );
hier etwas vereinfacht. Ich habe mal ein Beispiel programmiert. Und es funktioniert. Der Compiler sagt nichts. Und es funktioniert.
Abgesehen mal vom Sinn. Gibt es etwas was dagegen spricht.
-
faerk schrieb:
Gibt es etwas was dagegen spricht.
nein. Du kannst dir den Speicherwert eines Zeiger so vorstellen, als würden sie die Stelle (oder die Stelle der Zelle) des RAMS speichern, auf die der Zeiger zeigt. Das ist ok.
-
Adresse ist int ?
Besser gesagt man kann eine Adresse in einem Integer speichern.
-
...jedenfalls, sofern sizeof(int) >= sizeof(ETWAS*). Das muss aber nicht der Fall sein - portabel ist der Code auf die Art nicht.