数组指针问题
#include <iostream>using namespace std;
int main()
{
int a = {10, 20, 30};
int b = a;
cout << a
<< endl;
cout << &b;
return 0;
}
输出如下:
0x9ffb64
0x9ffb60
我奇怪的是,c++的数组名被解释为第一个元素的地址,而&b就是数组第一个元素的地址,可为什么a, &b的值相差了int类型的大小4?
但我改成:
int* b = &a;
...
cout << b;
输出就一样了
为什么? 啊?
int b =
你只是把第一个元素的值给了b
int *b
&a 就是 a
b的值就是a也就是数组的首地址
万千只cnm 发表于 2021-7-30 19:06
啊?
int b =
你只是把第一个元素的值给了b
懂了,谢谢
页:
[1]