私はいくつかのC ++チュートリアルを読んでいて、文字列が初期化されることもあれば(「初期化された」は適切な用語ではないかもしれません)、そうでないこともあります。
なぜ、いつ?
私が読んでいたコードは次のとおりです。
char name[50];
char lastname[50];
char fullname[100];
...
cin.getline ( name, 50 );
...
cin.getline ( lastname, 50 );
fullname[0] = '\0'; // strcat searches for '\0' to cat after
strcat ( fullname, name ); // Copy name into full name
strcat ( fullname, " " ); // We want to separate the names by a space
strcat ( fullname, lastname ); // Copy lastname onto the end of fullname
誰かが親切に説明してください。
他のデータ型と同じです。デフォルトでは、ローカル変数にはガベージ値が含まれています。したがって、その値を読み取る場合は、初期化します。ただし、変数に書き込むことがわかっている場合は、初期化の部分をスキップできます。
例:
char a[20]; //local variable
ガベージが含まれているため、読み取る前に意味のあるデータを書き込む必要があります。ただし、書き込みを行うだけの場合は、初期化をスキップできます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加