アライメントとパディングとは
あらいめんとぱでぃんぐ
データを、型ごとに決まった数の倍数の番地に置くこと(アライメント)と、そのためにデータの間や後ろに入れる使わないバイト(パディング、詰め物)。int が4バイトの境界にそろえられる環境では、struct { char c; int i; char d; } の c の後に3バイト、d の後に3バイトが入り、大きさは12バイトになる。境界にそろっていない番地の読み書きは、CPUによっては遅くなったり例外になったりする。メンバを大きい型から順に並べるとパディングを減らせる。
「アライメントとパディング」は、2分野の2問の練習問題に出てきます(命令セット・アセンブリ, C言語の基礎など)。
この用語の分野: C言語の基礎