genauso ist es, die art char(20) fuer ein char[20] anzugeben war mir auch nicht bekannt, aber hey.
Ansonsten ist zu bedenken, dass char die kleinste nutzbare Einheit ist (meist 8 bit).
In C++ gilt:
1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long).
Kp wo man nen chararray mit char(20) initen kann.
Aufgrund der 1 byte Sache hat man in C++ auch char16_t und char32_t.
Das ganze gilt nun nur für x86, sollte eine Architektur keine 8bit Segmente zur Addressierung nutzen, sondern 16, 32 oder 64 bit, dann ist ein char auch so groß.
Auch sollte man bei Datenstrukturen bedenken:
int, 4
char, 1
char?, 4
der pointer auf einen char ist in 32bit deutliche enormer als ein char selbst.
Außerdem ist meiner Kenntnis nach 'a' zB in C erstmal INT also 32bit und fasst daher auch Unicode (mag es aber auch anders geben).
Und es wird noch schlimmer:
selbst wenn der char dann 32bit braucht, ist sizeof(char) noch immer 1
Im Endeffekt hat sich da jemand 0 Gedanken gemacht ich denke mal, dass die Aufgabe raus fliegt, wenn nicht, dann sollte man sie Anfechte, auch wenn es völlig schnuppe ist.