Па све што је добро има и своју лошу страну. Имаш 64-о битни процесор и реч му је 8 бајта. Сада, ако имаш два стринга дужине 10 бајта, први смешта на адресу која је умножак од 8, и следећа 2 бајта смешта у другу реч у меморији. Е сад, шта да ради са осталих 6 бајта у тој речи. Може да смести 6 бајта другог стринга, а остала 4 бајта у следећу меморијску реч, где остају још 4 слободба бајта. Сада, ако имаш још и стринг од 8 бајта смешташ 4 у текућу реч, а остала 4 у следећу, уместо да овакав стрин сместуш у једну реч. Последица је да овако смештен стринг дужине 8 бајта уместо да читаш у једном меморијском циклусу, читаће се у два меморијска циклуса. И може доћи до тешке грешке, ако између два меморијска циклуса улети интерапт а интерапт процедура користи тај стринг, иако није довршен његов упис у меморију. Такве грешке се тешко откривају.
Зато су измислили поравњање, брз и безбедан приступ подацима у меморији, а празна места у речи нема везе, хардвераши ионако стално повећавају капацитет меморије.
Паметни компајлери када распоређују варијабле по меморији могу да воде рачуна о овоме, а ако нису паметни алигнујеш сам.