Ok, ich arbeite mit g ++ 4.8.2 und habe den folgenden (etwas langen) Code, der eine Fehlermeldung über einen unvollständigen Typ bekommt. Ich habe den Code auf ein kleineres Stück für die Aufnahme hier reduziert und kann direkt kompiliert werden...
Ich habe einige Inkonsistenzen zwischen Compilern mit diesem Programm entdeckt,
%Vor%
Die meisten Compiler behaupten bei sizeof (C) == 8, dass die Größe von (C) eigentlich 12 ist. Der einzige Compiler, den ich nicht gefunden habe und der sag...
Ich glaube, ich habe ein ziemlich gutes Verständnis von C ++ Interna und Speicherlayouts, aber dieses hier hat mich verblüfft. Ich habe den folgenden Testcode:
%Vor%
Die Ausgabe ist sinnvoll:
Foo: 8 Bar: 12
Das ist jedoch der seh...
Ich habe diese Frage über das Ergebnis von sizeof() gesehen und die Ausgabe dieser Funktion nicht verstanden.
%Vor%
Wie ich annahm, wenn eine Funktion ein Array zum Arbeiten bekommt, bekommt sie einen Zeiger auf das Array, also wenn ich d...
Ich weiß, dass der C ++ Standard explizit die Größe von nur char , signed char und unsigned char garantiert. Es gibt auch Garantien, dass, sagen wir, short ist mindestens so groß wie char , int so groß wie short usw. Aber kein...
Ich habe kürzlich diesen Code ausprobiert und war ein wenig verwirrt. Siehe die folgenden Deklarationen:
%Vor%
Sie alle belegen Speicher von 4 Bytes (auf 32 Bit GCC). Aber wenn ich versuche, ihre Größen zu drucken (mit printf -Funktion),...
In dem unten aufgeführten Programm sind die Größe von (int) und sizeof (lang) auf meinem Rechner gleich (beide gleich 4 Bytes (oder 32 Bits)). Ein langer, soweit ich weiß, ist 8 Bytes. Ist das richtig? Ich habe eine 64-Bit-Maschine
%Vor%
Ich frage mich, warum im folgenden Programm sizeof(int) einen anderen Wert als sizeof(int*) zurückgibt.
Hier ist das kleine Programm:
%Vor%
Und hier ist die Ausgabe:
%Vor%
Bis jetzt erinnere ich mich an die Größe eines Ganzzahlz...
Kann mir jemand erklären, warum mein Aufruf von malloc mit einer String-Größe von 6 eine Größe von 4 Bytes zurückgibt? In der Tat, jedes Integer-Argument, das ich malloc gebe, bekomme ich eine Größe von 4. Als nächstes versuche ich zwei Strings...