( persicsb | 2016. 02. 18., cs – 15:42 )

És mindez azért van, mert a csodás C nyelvben a tömbindexelés operátor nem más, mint egy tetszőleges memóriacímzési művelet. És ez baj. Ugyanis a tömb az egy eléggé absztrakt adatstruktúra (egy indexelhető kollekció), nem pedig memóriaelemek egymás után. Például csak teljesítménybeli okai vannak, hogy a tömbelemek egymás után vannak a memóriában, ezt maga az adatstruktúra egyáltalán nem indokolja.
Eleve a tömb mint absztrakt adatstruktúra meg sem kéne engednie, hogy túlcímezzék, magas szintű nyelvekben, ahol a tömb nem csak syntax sugar, ott ennek van is szép megoldása.
Az, hogy C-ben a tömb nem más, mint egy syntax sugar, az sajnos ide vezet.
Nem véletlen, hogy nem jó dolog C-ben biztonságkritikus kódot írni, nem véletlenül létezik MISRA-C coding standard stb. Mert kódolási patternek kellenek ahhoz, hogy a nyelv hülyeségeit a programozók megoldják.