小编Itz*_*_CJ的帖子

为什么在 C++ 中没有定义 n 的 sizeof (array A[n]) 是固定的?

当我尝试找到 sizeof(A) 其中 A 的类型为 int 且大小为 'n' 时,n 是一个未定义的 int。我得到 496 的输出,当我给 n 一个值然后检查它时,sizeof(A) 给我的值与 496 相同。我知道 Array 是一种静态数据类型,因此无论“n”如何,它都会有内存谁能解释一下 496 的值是从哪里来的?

int main()
{
    int n;
    int A[n];
    
    cout<<sizeof(A)<<"\n";
    
    cin>>n;
    
    cout<<sizeof(A);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ sizeof variable-length-array gcc-extensions

2
推荐指数
1
解决办法
139
查看次数