这是一些代码:
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 个。