An Array Is Not a Pointer, but They Cooperate in Expressions | Stanford CS107 Lecture 9
CS107 Lecture 9 uses seven C-string rules to separate array objects, pointer variables, and string literals: arrays often convert to first-element pointers in expressions, but storage, assignment, mutability, and sizeof remain different.