昔、「mallocすると必ず4KBずつメモリを使うから、小さいmallocをたくさんするのは良くない」と聞いてたけど、最近はそういうことは無いらしいので、数十バイト単位のmallocも気兼ねなくじゃんじゃん使って問題ないらしい。
これで今までなんとなく敬遠してたアルゴリズムをいろいろ実装できる。
実験
void *hhh[1000];
int i;
for(i=0;i<1000;i++){
hhh[i]=malloc(100+i);
printf("%08X\n",hhh[i]);
}$ ./a.out 08151008 08151070 081510E0 08151150 081511C0
ちゃんと細かく取れてるっぽい。