C Datentypen

Neue Frage »

Auf diesen Beitrag antworten »
lilli. C Datentypen

Meine Frage:
Hallo ich habe folgende Fragen.

a) welche zahlenbereiche deckt signed char ab?

b) Wie viele Byte(char) werden für die Definition der Variable txt allokiert? char txt[20] = "Hello world!\0";

c) Welche Zahlenwerte liefern folgende Ausdrücke auf einem Rechner mit 32Bit Architektur und bei Verwendung des gcc

char c;
int str[42]

1.sizeof(c);
2.sizeof(str[9]);
3.sizeof(str);
4.sizeof(&str);



Meine Ideen:
a) -128-127 (wird auch der Bereich 'A'...'z' abgedeckt?)
b) 13
c) hier habe ich leider keine Ahnung
 
Auf diesen Beitrag antworten »
eulerscheZahl

a) -128 bis 127 ist richtig.
und ja, Buchstaben sind da mit abgedeckt, A hat z.B. die 65 (im ASCII-Code).
b) char txt[20] bewirkt, dass 20 char allokiert werden, also 20 Byte.
c) mit sizeof() erhältst du die Größe der Variablen in Byte.
also hast du:
1.: sizeof(char) = 1 Byte
2.: sizeof(str[9]) = sizeof(int) = 4 Byte (zumindest bei 32-Bit Systemen)
3.: sizeof(str) = 42 * sizeof(int) = 168
4.: sizeof(&str) = 4 (Die Adresse der ersten Speicherzelle von str, bei 32-Bit Systemen eben 32 Bit)
Auf diesen Beitrag antworten »
lilli.

vielen dank smile
Auf diesen Beitrag antworten »
ed209

Hi

Sieht stark nach schlecht gestellten Hausaufgaben aus.
Soweit ich weiß schreibt der C Standard keine bestimmte bit-breite für chars vor.

Gruß,
ED209,
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »