gpt4 book ai didi

c - 了解声明数组长度

转载 作者:行者123 更新时间:2023-11-30 17:10:36 24 4
gpt4 key购买 nike

所以,我用这个制作了一个 VLA:

int main()
{
const size_t LEN = 200; // as I know it's read-onlyy
int array[LEN];
}

因此,我确定在 C1 中不再需要 VLA。在今天的 C99 中,它们是可选的...出于此动机,不建议使用该代码。

但是如果我这样做:

#define MYLEN 100
int main()
{
int xar[MYLEN];
}

int main()
{
int xar[100];
const size_t MYLEN = sizeof(xar) / sizeof(int);
}

我想我有:

  • 在第一种情况下,我在编译时有一个常量变量,但它更多是逻辑性的,而不是类型化的。
  • 在第二种情况下,类型化变量(只读)

但是使用 Define 指令更有效,因为它是 C 语言的典型。您建议使用什么?

无论如何,VLA 可以在 main 内部使用,但意义不大。

最佳答案

发布的代码没有定义 VLA,因为大小在编译时始终已知。

这是 VLA 的示例:

int myFunction( int size )
{
int myArray[size];
}

关于c - 了解声明数组长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811477/

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