 C99 introduced "variable-length arrays" which address some, but not all, of the issues with ordinary C arrays.The subscript notation codice_220 (where codice_221 designates a pointer) is syntactic sugar for codice_222.Taking advantage of the compiler's knowledge of the pointer type, the address that codice_223 points to is not the base address (pointed to by codice_221) incremented by codice_26 bytes, but rather is defined to be the base address incremented by codice_26 multiplied by the size of an element that codice_221 points to.