innerhalb einer Definition wie dieseAdresse eines Arrays in einer neuen Struktur deklariert
typedef struct
{
myType array[N];
} myStruct;
myStruct obj;
kann ich immer davon ausgehen, dass ([Bearbeiten] richtige Gießen unter der Annahme geschieht, was hier nicht der Schwerpunkt der Frage [/ bearbeiten ])
(&obj == &obj.array[0])
wird TRUE zurückgeben oder sollte ich den Compiler Sorgen über zusätzliche Polsterung Einführung der myType Ausrichtung Requisiten zu empfangen? In der Theorie sollte dies nicht passieren, da die Struktur ein einzelnes Feld hat, aber ich bin mir nicht ganz sicher.
C und C++ sind ** verschiedene ** Sprachen und ein Vergleich ergibt verschiedene Arten in beiden. Aber keiner von ihnen hat eine Standardkonstante oder ein Makro namens "WAHR". – Olaf
Ich würde empfehlen, 'obj.array' zu verwenden, wenn Sie auf das Array verweisen möchten, und' obj.array [0] ', wenn Sie auf das erste Element im Array verweisen möchten. Die Verwendung von "obj" für den Zugriff auf das Array wird für Außenstehende schwieriger zu verstehen sein. – jboockmann
Nicht sicher über C, aber in C++ kann kein Padding vor der ersten Membervariable vorhanden sein. – NathanOliver