数组声明,而不是使用mid-index

时间:2017-01-21 02:34:51

标签: c arrays

我想使用数组而不是连续索引。

int arr[30];

并使用

arr[1]=x;
arr[2]=y;
arr[30]=z;

然后 arr [3] ~arr [29] 未使用,消耗不必要的内存空间。

有没有为arr [3] ~arr [29]指定内存的方法?

2 个答案:

答案 0 :(得分:1)

C提供的内置数组不会执行您要求的内容。

您可以编写用于管理某些数据结构的代码,例如哈希表,但编译器不会为您执行此操作。

此外,对于记录,由于您将arr声明为长度为30,因此arr[30]=z是无效操作。指数从零开始,因此只有0-29有效。

答案 1 :(得分:0)

如果您有以下语句,则确定内存分配量:

int arr[30];

该语句基本上指示运行时为30个整数获取连续内存。如果您担心内存,请在声明时减小数组的大小或使用链表。