变长数组-变量也可做特殊数组的长度 原创 C++开发 2022年3月31日 18:03 夏至未至 608 当前内容 1010 字,在路上,马上到,马上到 ### 举例说明 main() { int n=10; int a[n]; scanf("%d",&a[2]); printf("%d",a[2]); system("pause"); } 以上例子中,`n` 明显是一个整型的变量,虽然付了值,但是他仍然不可做为数组的大小,按理说是编译不通过的,但有些编译器,却让着个编译过了,我们说:因为定义数组时,分配空间是需要一个固定的值,来确定你所申请的空间的大小。若int n = 9,int a[n],但是那个n始终是个变量,若n的值改变,则数组大小也会改变,在对其使用的时候,就会使用到数组以外的内容,对程序会造成隐患,基本是不会让你编译通过的。所以,只能固定的申请a[9],像这类情况,数组的长度一定为常量; 但是,如果就想用变量做数组的长度,怎么办?以下方法可以使用: #### 方法一 `C/C++` 中用 `malloc` 或者 `new` 来给你要使用的数组开辟空间,就开一个变量大小:如下代码: #include int main(void) { int *a; int n,i; scanf("%d",&n); a=malloc(sizeof(int)*n); for (i=0;i #include using namespace std; int main() { int len; cin>>len; vector array(len); //声明变长数组(变量len) for(int i=0;i 本文标题: 变长数组-变量也可做特殊数组的长度 本文作者: 夏至未至 发布时间: 2022年3月31日 18:03 最近更新: 2022年4月2日 10:04 原文链接: 许可协议: 署名-非商业性-禁止演绎 4.0 国际(CC BY-NC-ND 4.0) 请按协议转载并保留原文链接及作者 变长数组(1) 上一个 Linux下线程间同步-读写锁 下一个 利用位图(BitMap)查找数据 当前文章评论暂未开放,请移步至留言处留言。