Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在Ada中,如何使用重复的数字初始化数组常量?_Arrays_Constants_Ada - Fatal编程技术网

Arrays 在Ada中,如何使用重复的数字初始化数组常量?

Arrays 在Ada中,如何使用重复的数字初始化数组常量?,arrays,constants,ada,Arrays,Constants,Ada,我需要一个820个零的数组,用于数学函数 在C语言中,我可以编写以下代码,编译器将填充数组: const float EMPTY_NUMBER_A[820] = { 0.0, }; 然而,在Ada中,这是不可能的。我真的不想硬编码820个元素为0.0。有没有办法让编译器来做这件事 type Number_A is array (1 .. 820) of Float; EMPTY_NUMBER_A : constant Number_A := ???; 使用Ada 95和GNAT。使用:

我需要一个820个零的数组,用于数学函数

在C语言中,我可以编写以下代码,编译器将填充数组:

 const float EMPTY_NUMBER_A[820] = { 0.0, };
然而,在Ada中,这是不可能的。我真的不想硬编码820个元素为0.0。有没有办法让编译器来做这件事

 type Number_A is array (1 .. 820) of Float;
 EMPTY_NUMBER_A : constant Number_A := ???;
使用Ada 95和GNAT。

使用:


你确定C真的有这样的特性吗?如果希望使用0.0双倍值初始化该数组,则将整个内存区域初始化为所有零字节的系统将看起来像一个0.0双倍值的数组。如果数组是用
{3.0,}
初始化的,那么这个特性真的有效吗?比我的41行(每行20个零)要简洁得多。顺便说一句,这是非常强大的。如果你想将元素20以外的所有元素都设置为0,你可以做
(20=>17.5,其他=>0.0)
,你也可以说
(其他=>Ada.Numerics.Float\u Random.Random(Gen))
用随机浮点数填充。当然,您必须先设置发电机
Gen
。1票赞成。这是Ada语言的功能之一,它促使我从C语言转换到Ada语言。
Empty_Number_A : constant Number_A := (others => 0.0);