【发布时间】:2010-03-30 00:21:19
【问题描述】:
我需要一个包含 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, }初始化数组,该功能真的有效吗?