gpt4 book ai didi

c - C中的可变长度数组并就地初始化

转载 作者:太空狗 更新时间:2023-10-29 15:17:55 24 4
gpt4 key购买 nike

<分区>

C99 允许定义具有非常量大小的数组,即用于定义数组的大小可以在运行时更改。解释它的代码片段是,

void dummy_function1(unsigned int length) {

char arrA[length]; //Allowed
.
.
}

但是,它不允许就地初始化它,即

void dummy_function2(unsigned int length) {

char arrA[length]={0}; //Not Allowed, compiler throws an error
char arrB[10]={0}; //Allowed
.
}

我不明白,为什么可变长度数组和恒定长度数组的行为会有所不同。在这两种情况下,调用函数时都会为数组分配内存。

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