@alexhall bizarre fact I always love to mention. In C, a[b] is nearly exactly the same as b[a], because indexing into an array is adding the index to the memory address, and addition is conmutative.
C is raw in most regards. Rust adds bounds checks. Which means by default array access is a tad slower in Rust. But what might cause a problem in C will halt a Rust program instead of doing bizarre, possibly harmful stuff.