私は 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
また、この演習では配列の使用に制限されています。リンクされたリストの使用が許可された場合、動的リストの使用方法は既にわかっているため、これは簡単なことです。
どうすればいいですか?それとも、問題を間違った角度から見ているのでしょうか (リンク リストの代わりに配列を使用する必要があることに加えて) ?