6
私がテストしていたこのコードで混乱したときに、ポインタと配列を使って遊んでいました。C++アンパサンドオペレータと文字配列
#include <iostream>
using namespace std;
int main(void) {
char a[] = "hello";
cout << &a[0] << endl;
char b[] = {'h', 'e', 'l', 'l', 'o', '\0'};
cout << &b[0] << endl;
int c[] = {1, 2, 3};
cout << &c[0] << endl;
return 0;
}
これは、3つのアドレス([0]、b [0]およびc [0]のアドレス)を印刷すると予想しました。しかし、結果はでした:
hello
hello
0x7fff1f4ce780
なぜCHARとの最初の2例のために、「&」は、文字列全体をことを与えているか、私はここで何かが足りないのですか?