As whiteflags says, a lot of opinions exists on teaching C and teaching programming with C; I'm only expressing my opinion from my experience teaching and not intending to claim a fact.
Well, this is going to be one of those controversial things, but I'd recommend teaching pointers--as in pointers to single objects--before touching arrays.
Yes. As said, arrays are pretty much the simplest data structure, but you don't have to jump to linked lists--as is so common--just to introduce the need for, reason behind, and use of pointers.
If you can get a new student past the indirection hump, the treatment of arrays as decaying to pointers is a far easier concept to understand.
void Add(int * sum, int augend, int addend);
Add(&sum, 1, 1);
The mechanics of indirection is best served exactly after the introduction of "user defined functions" (I am assuming that some "standard functions"--specifically `printf'--are taught before introducing "user defined functions".) and just before `scanf'.