我试图理解C++中的指针和数组.我注意到,在下面的代码输出a正确地给出了第一个元素的地址array,但输出c给pk,而不是一个地址.
int array[3]={4,7,2};
int * a;
a= array;
char Carray[3]={'p','k','\0'};
char * c;
c= Carray;
cout << a << "\n";
cout << c << "\n";
Run Code Online (Sandbox Code Playgroud)
这是找到第一个元素的地址的错误方法Carray吗?或者这是如何cout解释整数和字符数组的指针的一些怪癖.
输出:
Ox23fe30
pk
Run Code Online (Sandbox Code Playgroud)