Skip to main content

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: