问题标签 [variable-length-array]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 我应该信任哪个编译器?
这将是一个新手问题,但我试图用C语言(不是C++)进行一个小练习,但遇到了一些问题。
假设我想在一个大小取决于参数之一的方法中使用一个数组:
当我尝试在Visual Studio 2013.c
中将其编译为文件时,我收到一条错误消息,指出不允许使用非常量数组大小。然而,相同的代码在GNU 编译器下的CodeBlocks中工作。我应该相信哪个?编译器的行为如此不同是正常的吗?我一直认为,如果您正在做编译器不喜欢的事情,那么您一开始就不应该这样做,因为它不是标准。
任何输入都是有用的!我来自Python的背景,我正在尝试更多地参与使用数据结构和算法进行编程。
我的平台是 Windows,你可能知道。如果这个问题需要更多信息才能回答,请告诉我。
c++ - malloc的优点是什么?
为某些数据分配内存有什么好处。相反,我们可以使用它们的数组。
喜欢
我们可以使用一个普通的数组。
好吧,我不明白 malloc 是如何工作的,实际上是什么。所以解释它们对我来说会更有益。
假设我们sizeof(int) * n
只替换n
上面的代码,然后尝试存储整数值,我可能会遇到什么问题?有没有办法直接从内存分配的空间打印存储在变量中的值,例如这里是lis
?
c++ - 如何使程序声明可变数量的不定大小数组
这听起来可能很疯狂,但我想知道是否可以让程序在使用 C/C++ 的循环中声明n
该类型的数组的数量。array[]
例如,示例以下伪代码:
所以这里的问题有两个方面:
- 声明可变长度数组
- 声明一个可变数量(即n个)这样的数组。
c - GCC 允许以可变长度初始化数组
GCC编译如下函数
我的印象是您只能初始化具有恒定长度的数组。这应该编译吗,它会做我期望的吗?
shell - Shell 脚本 - 如何创建具有特定长度的变量?
我是 shell 脚本的新手,我需要这方面的帮助。
如何创建由变量字符串分隔的输出文件?我的意思是,每个变量都有一个特定的长度,例如:
输出文件将是这样的(每个数字都与相应变量的内容相关):
next 变量的内容从文件中的下一个位置开始,即variable2
从第 11 位开始,因为variable1
在第 10 位结束。变量中的剩余空间将被空格填充。
c - 运行时确定的数组大小
我看到一些这样的代码:
我对这将如何工作甚至使用gcc
. 数组的大小应该是静态的并在编译时确定,不是吗?
c++ - 变长 std::array 像
由于我通常使用的 C++ 编译器允许可变长度数组(例如,取决于运行时大小的数组),我想知道是否有类似std::array
可变大小的东西?当然std::vector
是可变大小的,但它在堆上分配,并在需要时重新分配。
我喜欢在运行时定义大小的堆栈分配数组。是否有任何std
可能具有此功能的模板?也许使用std::vector
固定的最大尺寸?
c - GCC 如何实现变长数组?
GCC 如何实现变长数组(VLA)?这样的数组是否本质上是指向动态分配存储的指针,例如由 alloca 返回的?
我能想到的另一种选择是,将这样的数组分配为函数中的最后一个变量,以便在编译时知道变量的偏移量。但是,第二个 VLA 的偏移量将在编译时再次未知。
c++ - Does "int size = 10;" yield a constant expression?
The following code compiles under gcc 4.8 and Clang 3.2:
8.3.4/1 of the C++ Standard says that the size of an array must be an integral constant expression, which size
does not seem to be. Is this a bug in both compilers, or am I missing something?
The latest VC++ CTP rejects the code with this interesting message:
The interesting part is how it seems to think that size
is zero. But at least it rejects the code. Shouldn't gcc and Clang do the same?
matlab - 创建可变长度数据集的图例+忽略空单元格
我正在尝试绘制一些跨越 2 年的月度统计数据,其中 1 年只有一个月的数据,而另一年有 11 个月的数据。我遇到麻烦的地方是图例标签,当我填写标签时,它需要第一年的一个月数据,并放在下一年的标签后面,就好像它正在填写那个月一样。这就是我的意思:
其中 13 是 2013 年的 2 位数字表示,12 是 2012 年的数字表示。即使我按顺序循环这些年,它也会这样做。我相信这是因为 2012 年的 Legendms 基本上是空的单元格,除了 12 月,所以它只是填补了这个空间。它也没有遵循适当的线条样式。当 12 月 12 日应该是不同的线型时,它将 1 月 13 日标记为与其他线型不同的线型“-”。有谁知道解决这个问题的方法,或者如何在保留完整图例标签的同时忽略空单元格?
这是我到目前为止的代码,也许我只是犯了一个简单的错误?任何帮助将不胜感激!
重申一下,我希望图例忽略任何年份的空单元格,并使用适当的颜色和车站标签按年份顺序绘制图例标签。2012 年的值应该是实线,2013 年的值应该是虚线,无论颜色代表它们描述的月份(lineColors)。