次のように定義された文字列の間に(構文とパフォーマンスの点で)違いがあるかどうか疑問に思っていました
char str[200];
と
char *str;
str = calloc(200, sizeof(char));
使用上の違いはありますか?(例: 互換性がない、strncpy
または何か) そして、さらに重要なことに、パフォーマンスの点で違いはありますか?
編集:char *
and で定義された配列calloc
が拡大および縮小できることは理解していますが、何らかの理由でスタック メモリよりもヒープ メモリを選択する必要がありますか? それが私が本当に尋ねようとしていたことです。