0

这是一些代码:

int static_array[10];
cout<<"sizeof(static_array): " <<sizeof(static_array)<<endl;

int *ptr = static_array;
cout<<"sizeof(ptr): " <<sizeof(ptr)<<endl;

输出:

sizeof(static_array): 40
sizeof(ptr): 8

据我了解,在 C++ 中,数组是指针,而 sizeof(ptr) 函数返回指针的大小。我不明白的是,如果 static_array 是一个指针(必须是,因为我将它分配给 ptr),为什么它的大小实际上是 40 个字节(10 个整数)而不是 8 个。

4

0 回答 0