ポインタと配列の話続き

おはよう昼ご飯!
http://yowaken.dip.jp/tdiary/20080709.html#p01

char array[]  = "abc";
char *pointer = "abc";

array[0]   = 'A';
pointer[0] = 'A';

これなんかはよくある例なのですが、ポインタと配列の違いではなく、より厳密には「ポインタの初期化子と配列の初期化子に文字列リテラル指定した時に文字列が確保される場所」の違いなので、ネタ元で求められている例とは違うかなあと思いました。
ポインタはもろ生のアドレスでただそれだけ、配列はちゃんとデータ持ってるんだけれどC言語のインターフェースから触るときはアドレスになっちゃってて、とかその辺がぱっと分かる例でないといけないんだよなあ難しいなあ。
段々機械語埋め込みの例が一番分かりやすい気がしてきた。騙されてる気しかしない。