質問: C言語を勉強しているのですが、境界調整とはなんでしょうか? アラインメントとも言うんですか?? 調べてみたのですが、なんのことだかサッパリわからないです。 それと共用体の使い方を教えてください。 同じメモリ領域が共有されること利点とはなんですか?? どういったときに共用体が使われのでしょうか?? ぜひ教えてください。
回答: 要は変数のアドレスを「切りのいい位置」に揃えるってことです。 たとえば、 struct foo { char str[5]; }; struct foo data[10]; なんてとき data[0], data[1],... がすべて4の倍数となるように struct foo に使われない領域3byteを埋め込むなんてことをコンパイラがやったりします。 それがアラインメント。