> char foo[] = "hoge";
> char* bar = &foo[1]; /* 敢えてずらしてみる */

> bar が参照しているのは文字列リテラルからコピーされた配列であって文字列リテラルではない。

説明がよく分からないが、barは、fooではなく、どこかにコピーした別の文字列なり配列を参照していると言うことか?