Genau. Diese long in Klammern nennt sich "cast". Schau mal in ein
C-Buch.
Es ändert den Typ nur sozusagen punktuell.
Nimm sowas wie:
1 | char i;
|
2 |
|
3 | while (i < (int) i * 128)
|
dann wird nur an der Stelle wo (int) steht das i als int betrachtet aber
nicht da wo i alleine steht oder sonstwo.
Man könnte das umkehren und fragen, warum sollte an einer Stelle wo
kein cast steht der Datentyp geändert werden? Man geht einfach davon
aus, das es so ist, was auch konsistent ist, denn sonst müsste es einen
Operator geben, der diese Umwandlung wieder rückgängig macht.