いくつかのこと。
size のメンバー配列で構造体を宣言すると、
3
配列に 4 つの要素があることを意味しませんか? 0、1、2、3?A
、 、B
、およびの文字を挿入しようとすると、なぜそれらが表示されるのC
でしょinitializer-string for array of chars is too long [-fpermissive]
うか。#include <iostream> using namespace std; struct Student { double no; char grade[3]; }; int main() { struct Student harry = {975, "ABC"}; }
文字配列の特定のインデックスのアドレスを出力すると、次のコードから次の結果が得られます。
struct Student { double no; char grade[4]; }; int main() { struct Student harry = {975, "ABC"}; for (int i = 0; i < 4; i++) cout << "h.g[" << i << "]" << harry.grade[i] << endl; for (int i = 0; i < 4; i++) cout << "h.g[" << i << "]" << &harry.grade[i] << endl; }
結果:
h.g[0]A
h.g[1]B
h.g[2]C
h.g[3]
&h.g[0]ABC
&h.g[1]BC
&h.g[2]C
&h.g[3]
最初のループのように、各文字が個別に表示されるのではなく、最初のインデックスがABC
、次になどを出力するのはなぜですか?BC