Hallo und herzlich willkommen.
In dieser Demonstration möchte ich eine Lösung für ein schnelles kleines Programm
bereitstellen, das den Operator sizeof verwendet, um uns mitzuteilen,
wie groß unser Speicher für bestimmte Datentypen ist.
Lassen Sie uns Codeblöcke aufrufen,
und wir werden hier sehr vertraute Schritte zum Erstellen eines Projekts ausführen.
Und wir werden einen aussagekräftigen Namen bekommen.
Nennen wir dieses Projekt
sizeofexample.
Also Größe des Beispiels.
Das wird wirklich ziemlich einfach. Es werden
nur Ausdruckanweisungen verwendet, um bestimmte Datentypen anzuzeigen.
Also werde ich einfach nicht einmal Variablen erstellen. Ich werde nur einige
Daten ausdrucken.
Hier werde ich also sagen, dass Variablen vom
Typ char Prozent belegen.
Und ich wollte einen
bestimmten um-Datentyp verwenden. Ich denke, es war zf, aber
versuchen wir es mit zd. Dies ist ein netter
Formatbezeichner, der meiner Meinung nach in C99 hinzugefügt wurde.
Zd und dann müssen wir nur noch sizeof verwenden.
Sizeof und get es sieht aus wie eine Funktion, ist es aber nicht. Und dann sag char für Charakter.
Und dann werde ich das einfach
kopieren und einfügen, weil ich ähnliche Dinge tun werde.
Ich werde keinen Char machen, aber ich werde einen Short für den zweiten machen.
Ich mache ein Int und ein Long, Long
Long,
Double oder lass uns einen Float machen, Float Double,
lass uns Long Double versuchen.
Und dann müssen wir nur noch die
Größe der Parameter ändern, um die entsprechenden Typen zu übernehmen.
Wir werden dies auch verwenden, wenn wir über Speicher und Zeiger sprechen.
Dies hilft jedoch nur, verschiedene Datentypen zu verstehen.
Und Sie werden sehen, dass Sie tatsächlich im Raum
lange lange Größe passieren können. Das ist wahrscheinlich der Grund, warum es keine Funktion ist, weil Sie keine Leerzeichen in Funktionsparametern haben können.
Aber denken Sie daran, dass die Größe von auch Variablen, Ausdrücke und alles
Mögliche akzeptiert.
Und wenn es das tut, bestimmt es tatsächlich die Größe von
zur Laufzeit im Gegensatz zur Kompilierungszeit in Long Double.
Speichern Sie das, bauen Sie.
Keine Fehler.
Es sieht so aus, als würde es das z-Format nicht verstehen.
Es ist, weil es nicht int sein könnte. Ändern wir diese stattdessen in Prozent
für nicht signierte.
Alles klar, jetzt bauen wir.
Gut, jetzt haben wir keine Warnungen. Normalerweise möchten Sie beim Erstellen auch keine Warnungen haben.
Warnungen im Compiler sind genau
das, was sie als Warnung bezeichnen. Sie werden also weiterhin erfolgreich kompilieren,
aber eine Warnung weist normalerweise auf ein Problem hin.
Sie möchten also Ihre Warnungen bereinigen. Und so hatte ich eine Warnung, dass ein
Formatbezeichner nicht erlaubt war, Prozent z. , also habe ich es geändert, jetzt habe ich keine Warnungen.
Versuchen Sie, Ihre Warnungen so weit wie möglich zu bereinigen, da sie Warnungen sind, weil sie Probleme verursachen können.
Und eine Sache, die ich hier vergessen habe und die ich
gerade bemerkt habe, ist, dass sie falsch formatiert ist, weil ich meinen Escape-Charakter nicht als Wette für Zeilenvorschübe hinzugefügt habe.
Das macht es sehr schwer zu lesen. Fügen wir also unseren
Backslash n nach unserem Prozentsatz u hinzu.
Jetzt heißt es also, dass Variablen vom Typ char eins besetzen.
Variablen vom Typ short belegen 2
Bytes, int 4 Bytes, long 4 Bytes, long long
8 Bytes, float 4 Bytes, double 8 Bytes, long double 12.
Es ist ziemlich ordentlich. Sie führen dies auf vielen verschiedenen Plattformen aus und Sie werden sehen, wie sich diese Dinge ändern.
Also ein einfach zu schreibendes Programm, das aber wieder einige nette Konzepte demonstriert.
Damit Sie fortfahren können, können Sie dies herunterladen.
Wenn Sie Probleme haben, versuchen Sie es auf verschiedenen Plattformen auszuführen, aber das
ist alles, was ich zeigen wollte, nur eine kleine Darstellung der
verschiedenen Datentypgrößen, also weiter mit dem nächsten Abschnitt. Vielen Dank.