>55
素早い回答ありがとうございます。

char a[] = "abc";
と
char *a = "abc";
では実際に確保されるメモリ領域が異なるということでしょうか?

char a[] = "abc"; はヒープ領域?に確保される。
char *a = "abc"; は静的領域?に確保される。
静的領域に確保されたメモリは変更できない。

という理解でいいんでしょうか?