>[...] >>The C standard explicitly permits accessing one element beyond the end not exactly. it permits addressing one beyond the end, but not accessing so int a[10], *after = &a[10]; is OK, but a[10]++ isn't The rule lets you do bounds checks on pointers, even with empty ranges. -- mac the na�f