Wie wir wissen, wird Speicher der Struktur zugeordnet, wenn seine Variable definiert ist (oder beim Erstellen einer Instanz).Strukturspeicherzuweisung in C++
Jetzt
struct Programmer {
int skills;
int problemSolved;
};
int main(){
Programmer me;//Here the memory will be allocated but in what
//format(discrete or continuous block of memory)?
me.skills = 10;
me.problemSolved = 2000;
return 0;
}
Ist die Speicherinstanz zu strukturieren zugeordnet oder variabel ist in kontinuierlichen Blöcken (wie in Array) oder in diskreten Speicherblock? Wenn ja, warum?
Ja ist es, aber denken Sie daran, es gibt Padding (nicht immer). – DimChtz
Alles, was Sie in einer Struktur garantieren können, ist, dass die Mitglieder in der Reihenfolge zugeordnet werden, in der sie deklariert sind. Der Compiler darf zum Zweck der Ausrichtung "padding" -Bytes einfügen. –
@ ThomasMatthews-- es gibt auch eine Garantie, dass es keine Auffüllung am Anfang einer 'struct' geben wird. –