我不是 C 的真正粉丝,但我为这个练习做了功课。到目前为止,我得到的是,在 C 中,初始化一个数组,据我所知,不像 JavaScript。C 有固定的数组,而不是由特定值初始化。所以NULL
在这种情况下检查将不起作用。
我有一系列结构。我怎么知道数组中的索引是否为空(是否填充了结构)?
#define LIST_LENGTH 30
//This is the struct that is inserted in the array
typedef struct node{
char fName[30];
char mName[30];
char lName[30];
char id[8];
} NODE;
typedef struct {
int size; //size is the struct's total capacity (at 30)
int length; //tracks how many elements are added, but not where
NODE nodes[LIST_LENGTH]; //This is the array in question
} List;
//somewhere in my code, I have to insert a value to the array at a specific position.
//if that position is occupied, I have to find the nearest empty position
//to the right, and shift the values rightward for that spot to be empty
此外,我们受限于在此练习中使用数组。如果我们被允许使用链表,这将是在公园里散步,因为我们已经知道如何使用动态列表。
我该怎么做?还是我从错误的角度看待问题(除了必须使用数组而不是链表)?