C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C,数组大小必须是const表达式大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Declaring the array size with a non-constant variable                                    3个
我正在读Lappman的“C Primer”一书.在第113页它说

此外,它说我们不能做这样的事情

unsigned cnt  = 43; //not an const expression
String bad[cnt]; // error

但事实并非如此,我编译它没有任何问题,我甚至可以做到这样的事情

int i;
cin >> i;
get_size(i);

void get_size(int sizE) {
  int arr[size];
  cout << sizeof (arr);
}

它运行良好,为什么每本书都说在编译时必须知道数组大小?或者它必须是const表达式?

解决方法

因为那些书正在教你C.

确实,在C中.

您使用的是GCC提供的非标准扩展,称为可变长度数组.

如果打开所有编译器警告(应始终执行此操作),则会在构建期间通知您.

大佬总结

以上是大佬教程为你收集整理的C,数组大小必须是const表达式全部内容,希望文章能够帮你解决C,数组大小必须是const表达式所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。