char
の配列へのポインタの値が&"hello"
でchar
の配列が異なるのはなぜですか?rvaluesのcharの配列に対するポインタが&helloとcharの配列であるのはなぜですか?
なぜpointer
を配列にするか&"hello"
const
が必要ですが、配列はchar
ではありませんか?
なぜx[0] typeid
名前はchar[6]
ですか?
なぜ*x = temp2
コンパイルエラー?
char temp[] = { 'h','e','l','l','o','\0'};
char temp2[] = { 'w','o','r','l','d','\0' };
char (*x)[6] = &temp;
//*x = temp2;//error
x = &temp2;//OK
cout << typeid(x[0]).name() << endl;
//char (*y)[6] = &"hello"; //error
char const (*y)[6] = &"hello";//OK
出力:配列が割り当て可能でないため
char [6]
ここにはどこにでも1つの文字列参照が表示されず、文字の配列だけが表示されます。質問は紛らわしい言葉です(そして大部分はC、唯一のC++は 'cout'の使用です) – Donnie