マップキーとして使用される単語を含む大きな文字配列を持っています。例えば、 "key11 key12 .." 配列からkey12を直接消費すると、key12のアドレスがワードサイズで割り切れないため、整列していないメモリが使用されていると考えられますか?メモリ配置とC配列
私たちがc文字列を使用するときにメモリの配置がどのように動作するかわかりません。開始アドレスは完全に揃えることができますが、c文字列の最初のインデックスをスキップすると(私の意見では)それは誤った位置になります。そうであれば、c文字列比較関数は多くの整列していないアドレスで動作する必要があります。どういうわけか私はここに何かを見逃していると感じます。 。
一般的にメモリ配置は、あなたがヒープ上に悪やハックをやっている場合を除き考える必要があるものではありません。 char *をmallocすると、その文字をchar *にキャストするかchar *に格納することで、charまたは1バイトの添え字に揃えられます。 – cat