Struct

Hi ich möchte ein struct erstellen an einer bestimmten Speicheradresse anfängt.

Hier ein teil meines Programmes:

Code:
struct speicher {
	int s1;
	int s2;
	float s3;
}spei;

unsigned adress = 0x2F6BDD0; 

int main(void) 
{ 

cout << &spei << endl;
cout << spei.s1 << "\t" << &(spei.s1) << endl;
cout << spei.s2 << "\t" << &(spei.s2) << endl;
cout << spei.s3 << "\t" << &(spei.s3) << endl;
cin>>i;
    return 0; 
}

Wie stelle ich sowas an ?
 
In Anlehnung an deinen Code:

speicher *strukturzeiger; // Eine Zeigervariable des Typs speicher deklarieren.

strukturzeiger = adress; // Dem Zeiger die Adresse zuweisen.

strukturzeiger->s1 = X; // Zugriff aud die Strukturmember mittels Zeiger.


mfg, softrunner
 
Alles schön und gut aber wie bekomm ich den Error weg:
error C2440: '=' : cannot convert from 'unsigned int' to 'speicher *'
 
Bei der Zuweisung der Adresse muss noch ein Typecasting vorgenommen werden.

strukturzeiger = (struct speicher*)adress; // Dem Zeiger die Adresse zuweisen.

mfg, softrunner
 
Zurück
Oben