Der Operator "sizeof" in C [] (Der Operator "sizeof" in C), Lektion, Seite 723634
https://www.purl.org/stefan_ram/pub/sizeof_operator_c (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
C-Kurs

Der Operator »sizeof« in C 

Der Operator »sizeof« ergibt die Speichergröße eines Objekts in Speichergrößen eines char-Objekts. Es handelt sich dabei um diejenige Speichergröße, welche sich ergibt, wenn man den Typ des Ausdrucks in einen sizeof-Ausdruck mit einem Typnamen einsetzt.

Dazu wird das Objekt oder der Ausdruck hinter den Operator »sizeof« geschrieben. Klammern sind in diesem Falle nicht  notwendig.

Eine Anwendung des sizeof-Operators
unary-expression 〉 ::=
'sizeof' 〈unary-expression 〉.

Wie schon bei sizeof-Ausdrücken mit einem Typnamen sind auch sizeof-Ausdrücken mit dem sizeof-Operator statische Konstanten und haben den Typ »size_t«.

main.c

#include <stdio.h>

int main( void ){ printf( "%zu\n", sizeof 1 ); }

transcript
4

Das folgende Programm zeigt noch einmal den Typ »size_t«, welches der Typ von sizeof-Ausdrücken ist.

Das folgende Programm zeigt auch, daß ein Name in C  schon vor dem Ende seiner Deklaration innerhalb des Initialisierungsausdrucks verwendet werden kann.

main.c

#include <stdio.h>
#include <stddef.h> /* size_t */

int main( void )
{ size_t const z = sizeof z;
printf( "%zu\n", z ); }

transcript
8
transcript
4

Das folgende Programm zeigt, einige Wert von sizeof-Ausdrücken. Diese Werte hängen aber von der verwendeten C -Implementation ab!

main.c

#include <stdio.h>

int main( void )
{ char const ch = '0';
int const i = 0;
printf( "%zu\n", sizeof ch );
printf( "%zu\n", sizeof &ch );
printf( "%zu\n", sizeof i );
printf( "%zu\n", sizeof '0' ); }

transcript
1
8
4
4

Die »8« in der Ausgabe ist ein Indiz für eine 64-Bit-Umgebung, und die letzte »4« deutet im Vergleich mit zwei anderen Ausgaben darauf hin, daß der Typ einer Zeichenkonstanten »'0'« gleich »int« und nicht gleich »char« ist.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723634 stefan_ram:723634 Der Operator "sizeof" in C Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723634, slrprddef723634, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/sizeof_operator_c