2.2 Grundlegende Datentypen
- Aufgabe 1: Schreiben Sie ein Programm, das die Größe (in Bytes) aller grundlegenden Datentypen ausgibt (int, float, double, char).
- Aufgabe 2: Erstellen Sie ein Programm, das die maximalen und minimalen Werte für int und unsigned int ausgibt.
Aufgabe 1:
#include <stdio.h>
int main(void) {
const char* datatypes[] = {"int", "float", "double", "char"};
for (int i = 0; i < 4; i++) {
printf("Size von Datentyp %s ist gleich %llu \n", datatypes[i], sizeof(datatypes[i]));
}
return 0;
}
Die Grundidee ist gut, aber sizeof(datatypes[i]) gibt nicht die Größe der Datentypen selbst zurück, sondern die Größe des String-Pointers (also immer 8 auf einem 64-bit System).
#include <stdio.h>
int main(void) {
const char* datatypes[] = {"int", "float", "double", "char"};
const size_t sizes[] = {sizeof(int), sizeof(float), sizeof(double), sizeof(char)};
for (int i = 0; i < 4; i++) {
printf("Size von Datentyp %s ist gleich %llu Bytes\n", datatypes[i], sizes[i]);
}
return 0;
}
Aufgabe 2: