gpt4 book ai didi

c++ - Dev C++ 上出现了一个奇怪的 sizeof() 错误

转载 作者:太空狗 更新时间:2023-10-29 23:21:06 25 4
gpt4 key购买 nike

我知道我不应该使用 Dev-C++,但它在学校是强制性的,所以我对此无能为力。

主题是 C/C++ 中的指针,在测量整数数组的长度时出现错误。请看下面的代码:

// POINTER
# include<iostream>
# include<string.h>

using namespace std;

int main(){
//neues Feld anlegen
int *a = new int[5];

a[0] = 12;
a[1] = 5;
a[2] = 43;
a[3] = -12;
a[4] = 100;
// Feld füllen

for(int i = 0; i<sizeof(a);i++){
cout<<a[i]<<"\n"<<endl;
}
cout<<sizeof(a);
system("pause");
return 0;

}

sizeof() 返回 4 而不是 5...有什么想法吗?

最佳答案

这不是错误,因为它返回 a 本身的大小(类型为 int* - 在 32 位构建中为 4 字节),而不是长度数组的。

请注意 - 其他人说大小取决于操作系统,这只对了一半。这真的取决于构建。 sizeof 是一个编译时结构。

关于c++ - Dev C++ 上出现了一个奇怪的 sizeof() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8122637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com