In C-Sprache, wie bekomme ich die Startadresse von der Adresse des Mitglieds?Wie bekomme ich die Startadresse von der Adresse des Mitglieds
struct type1 {
//...
int member1;
//...
};
struct type1 obj1;
Und ptr1
ist die Adresse Mitglied member1
in obj1
, wie
Makro #define start_add(ptr1, type1, member1)
zu definieren Adresse zu erhalten obj1 der
Start?
Ich glaube, dass Sie eine zusätzliche '&' 'vor (ptr1)'. 'ptr1' ist die Adresse des Mitglieds bereits. –
Ganz richtig, behoben. –
Sie sollten auch einen zusätzlichen Satz von Klammern um das gesamte Makro-Ergebnis hinzufügen - denken Sie daran, dass '->' eine höhere Priorität hat als '(Typ)'. Wenn Sie '->' auf das Ergebnis anwenden möchten, benötigen Sie sie. – caf