Cスタイルの文字列の違いは何ですか
char str[10]="Hello";
char str[]="Hello";
char* str= "Hello";
1)それchar str[10]="Hello"は自動変数であり、スタックに保存されていると思います.True?つまり10 bytes、スタックに割り当てます。
2)char str[]="Hello";スタックにも格納されますか? つまり6 bytes - including null character、スタックに割り当てます。
3)char* str= "Hello";ポインタ str をスタックに格納し、オブジェクト"Hello"はヒープに格納されますか? 6 bytes - including null characterつまり、ヒープに割り当てます。
4) すべての文字列(in question 1,2 and 3)は null で終了します。真/偽?
5)C or C++のような文字列を作成するたびに"Hello"、常に null で終了します。C++を宣言するとしstring str = "Hello";ます。これも null 終了ですか?
編集
main() で宣言されたすべてを考慮してください。
@マイナスポイントとクローズリクエスト。ヒープまたはスタックがどこに保存されているかに関して、この質問をしていますか? また、ヌル終了。