malloc を使用して同様のメモリ操作を行う場合、sizeof( char ) が常に 1 であることに依存できますか?
たとえば、 type の N 個の要素にメモリを割り当てる必要がありchar
ます。必要に掛けていsizeof( char )
ます:
char* buffer = malloc( N * sizeof( char ) );
または、 sizeof( char ) が常に 1 であることを信頼して、乗算をスキップできますか
char* buffer = malloc( N );
コンパイル中に評価されることを完全に理解してsizeof
おり、コンパイラは乗算をコンパイルすることさえできるため、パフォーマンスの低下は最小限に抑えられ、ほとんどの場合ゼロになります。
私は主にコードの明瞭さと移植性について質問しています。この乗算は型に必要ですchar
か?