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