Array1 と Array2 は異なる方法で宣言されていると思いますが、どちらも同じ型 (char) を持っています。Array1 と Array2 の両方に、まったく同じ値と同じ量の値が含まれているようです。長さが違う理由がわかりません。誰かが理由を説明してもらえますか?
char Array1[ ] = { 1, 2, 3, 4, 5 };
char Array2[ ] = "\x01\x02\x03\x04\x05";
std::cout << "Length of Array1 = " << sizeof( Array1 )/sizeof( *Array1 )
<< std::endl
<< "Length of Array2 = " << sizeof( Array2 )/sizeof( *Array2 );
出力:
Length of Array1 = 5
Length of Array2 = 6